From cd27f5a994c74f9037de9df6935368b47cab63e7 Mon Sep 17 00:00:00 2001 From: HO-COOH Date: Sun, 29 Mar 2026 11:42:32 +0800 Subject: [PATCH 1/2] Fix deprecated/removed audio channel apis --- 0_hello_world.c | 2 +- 3_transcoding.c | 3 +-- README-cn.md | 2 +- README-es.md | 2 +- README-ko.md | 2 +- README-pt.md | 2 +- README-ru.md | 2 +- README-vn.md | 2 +- README.md | 2 +- 9 files changed, 9 insertions(+), 10 deletions(-) diff --git a/0_hello_world.c b/0_hello_world.c index 677909d..aeab042 100644 --- a/0_hello_world.c +++ b/0_hello_world.c @@ -120,7 +120,7 @@ int main(int argc, const char *argv[]) logging("Video Codec: resolution %d x %d", pLocalCodecParameters->width, pLocalCodecParameters->height); } else if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_AUDIO) { - logging("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->channels, pLocalCodecParameters->sample_rate); + logging("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->ch_layout.nb_channels, pLocalCodecParameters->sample_rate); } // print its name, id and bitrate diff --git a/3_transcoding.c b/3_transcoding.c index f581eaf..70d35a7 100644 --- a/3_transcoding.c +++ b/3_transcoding.c @@ -122,8 +122,7 @@ int prepare_audio_encoder(StreamingContext *sc, int sample_rate, StreamingParams int OUTPUT_CHANNELS = 2; int OUTPUT_BIT_RATE = 196000; - sc->audio_avcc->channels = OUTPUT_CHANNELS; - sc->audio_avcc->channel_layout = av_get_default_channel_layout(OUTPUT_CHANNELS); + av_channel_layout_default(&sc->audio_avcc->ch_layout, OUTPUT_CHANNELS); sc->audio_avcc->sample_rate = sample_rate; sc->audio_avcc->sample_fmt = sc->audio_avc->sample_fmts[0]; sc->audio_avcc->bit_rate = OUTPUT_BIT_RATE; diff --git a/README-cn.md b/README-cn.md index 40fa061..142fd15 100644 --- a/README-cn.md +++ b/README-cn.md @@ -353,7 +353,7 @@ AVCodec *pLocalCodec = avcodec_find_decoder(pLocalCodecParameters->codec_id); if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_VIDEO) { printf("Video Codec: resolution %d x %d", pLocalCodecParameters->width, pLocalCodecParameters->height); } else if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_AUDIO) { - printf("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->channels, pLocalCodecParameters->sample_rate); + printf("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->ch_layout.nb_channels, pLocalCodecParameters->sample_rate); } // 通用 printf("\tCodec %s ID %d bit_rate %lld", pLocalCodec->long_name, pLocalCodec->id, pCodecParameters->bit_rate); diff --git a/README-es.md b/README-es.md index 108d7cf..4e295cc 100644 --- a/README-es.md +++ b/README-es.md @@ -374,7 +374,7 @@ Ahora, vamos a imprimir la información acerca de los códecs. if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_VIDEO) { printf("Video Codec: resolution %d x %d", pLocalCodecParameters->width, pLocalCodecParameters->height); } else if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_AUDIO) { - printf("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->channels, pLocalCodecParameters->sample_rate); + printf("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->ch_layout.nb_channels, pLocalCodecParameters->sample_rate); } // general printf("\tCodec %s ID %d bit_rate %lld", pLocalCodec->long_name, pLocalCodec->id, pLocalCodecParameters->bit_rate); diff --git a/README-ko.md b/README-ko.md index 9ad1356..ce6b230 100644 --- a/README-ko.md +++ b/README-ko.md @@ -354,7 +354,7 @@ AVCodec *pLocalCodec = avcodec_find_decoder(pLocalCodecParameters->codec_id); if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_VIDEO) { printf("Video Codec: resolution %d x %d", pLocalCodecParameters->width, pLocalCodecParameters->height); } else if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_AUDIO) { - printf("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->channels, pLocalCodecParameters->sample_rate); + printf("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->ch_layout.nb_channels, pLocalCodecParameters->sample_rate); } // general printf("\tCodec %s ID %d bit_rate %lld", pLocalCodec->long_name, pLocalCodec->id, pLocalCodecParameters->bit_rate); diff --git a/README-pt.md b/README-pt.md index 9dd1646..bf09c13 100644 --- a/README-pt.md +++ b/README-pt.md @@ -358,7 +358,7 @@ Agora podemos imprimir informações sobre os codecs. if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_VIDEO) { printf("Video Codec: resolution %d x %d", pLocalCodecParameters->width, pLocalCodecParameters->height); } else if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_AUDIO) { - printf("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->channels, pLocalCodecParameters->sample_rate); + printf("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->ch_layout.nb_channels, pLocalCodecParameters->sample_rate); } // geral printf("\tCodec %s ID %d bit_rate %lld", pLocalCodec->long_name, pLocalCodec->id, pLocalCodecParameters->bit_rate); diff --git a/README-ru.md b/README-ru.md index 3857796..01a83ff 100644 --- a/README-ru.md +++ b/README-ru.md @@ -381,7 +381,7 @@ AVCodec *pLocalCodec = avcodec_find_decoder(pLocalCodecParameters->codec_id); if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_VIDEO) { printf("Video Codec: resolution %d x %d", pLocalCodecParameters->width, pLocalCodecParameters->height); } else if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_AUDIO) { - printf("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->channels, pLocalCodecParameters->sample_rate); + printf("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->ch_layout.nb_channels, pLocalCodecParameters->sample_rate); } // общее printf("\tCodec %s ID %d bit_rate %lld", pLocalCodec->long_name, pLocalCodec->id, pLocalCodecParameters->bit_rate); diff --git a/README-vn.md b/README-vn.md index 5bdab06..5017256 100644 --- a/README-vn.md +++ b/README-vn.md @@ -358,7 +358,7 @@ AVCodec *pLocalCodec = avcodec_find_decoder(pLocalCodecParameters->codec_id); if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_VIDEO) { printf("Video Codec: resolution %d x %d", pLocalCodecParameters->width, pLocalCodecParameters->height); } else if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_AUDIO) { - printf("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->channels, pLocalCodecParameters->sample_rate); + printf("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->ch_layout.nb_channels, pLocalCodecParameters->sample_rate); } // general printf("\tCodec %s ID %d bit_rate %lld", pLocalCodec->long_name, pLocalCodec->id, pLocalCodecParameters->bit_rate); diff --git a/README.md b/README.md index 7885879..367945e 100644 --- a/README.md +++ b/README.md @@ -367,7 +367,7 @@ Now we can print information about the codecs. if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_VIDEO) { printf("Video Codec: resolution %d x %d", pLocalCodecParameters->width, pLocalCodecParameters->height); } else if (pLocalCodecParameters->codec_type == AVMEDIA_TYPE_AUDIO) { - printf("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->channels, pLocalCodecParameters->sample_rate); + printf("Audio Codec: %d channels, sample rate %d", pLocalCodecParameters->ch_layout.nb_channels, pLocalCodecParameters->sample_rate); } // general printf("\tCodec %s ID %d bit_rate %lld", pLocalCodec->long_name, pLocalCodec->id, pLocalCodecParameters->bit_rate); From 6babc6a76a82edf36f88b7981ca67500baf05e7f Mon Sep 17 00:00:00 2001 From: HO-COOH Date: Mon, 30 Mar 2026 20:27:00 +0800 Subject: [PATCH 2/2] Update ffmpeg version in dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index fcee476..05e8b9c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,7 +16,7 @@ RUN apt-get -yqq update && \ FROM base as build -ENV FFMPEG_VERSION=4.4 \ +ENV FFMPEG_VERSION=8.0 \ AOM_VERSION=v1.0.0 \ FDKAAC_VERSION=0.1.5 \ FONTCONFIG_VERSION=2.12.4 \