Opened 10 years ago

Closed 7 years ago

Last modified 7 years ago

#3848 closed defect (fixed)

Unable to set language codes when encoding to HLS

Reported by: Matthew Austin Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: metadata hls
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
I am trying to add language codes to the audio stream for an HLS file. When encoded to a .ts, the language tag appears: when encoded to HLS, it is not set in the final output. May be related to #2296
How to reproduce:

ffmpeg -t 36 -i [Video File] -i [Audio File] -map 0:0 -map 1:0 -vf "yadif=0:-1:0, scale=interl=1:w=iw*(oh/ih)*sar:h=720,pad=1280:720:(ow-iw)/2:(oh-ih)/2" -c:v libx264 -pix_fmt yuv420p -preset faster -profile:v main -b:v 2000k -maxrate 2000k -bufsize 80K -flags -global_header -r 25 -g 75 -c:a libvo_aacenc -b:a 196k -metadata:s:a:0 language=eng "D:\Testing\ProxyGenSpeed\LanguageCodeTest\LCT.ts"

ffmpeg version N-65085-g4f91bb0 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jul 28 2014 22:10:25 with gcc 4.8.3 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfi
g --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-lib
opencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge
r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --
enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
  libavutil      52. 92.101 / 52. 92.101
  libavcodec     55. 71.100 / 55. 71.100
  libavformat    55. 49.100 / 55. 49.100
  libavdevice    55. 13.102 / 55. 13.102
  libavfilter     4. 11.102 /  4. 11.102
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
[h264 @ 0000000002ae26e0] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, h264, from '[Video File]':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High 4:2:2 Intra), yuv422p10le(pc, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1
200k tbn, 50 tbc
Guessed Channel Layout for  Input Stream #1.0 : stereo
Input #1, wav, from '[Audio File]':
  Duration: 00:09:42.04, bitrate: 2304 kb/s
    Stream #1:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 2 channels, s32, 2304 kb/s
File 'D:\Testing\ProxyGenSpeed\LanguageCodeTest\LCT.ts' already exists. Overwrite ? [y/N] y
[libx264 @ 00000000064187e0] using SAR=1/1
[libx264 @ 00000000064187e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 00000000064187e0] profile Main, level 3.1
Output #0, mpegts, to 'D:\Testing\ProxyGenSpeed\LanguageCodeTest\LCT.ts':
  Metadata:
    encoder         : Lavf55.49.100
    Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 2000 kb/s, 25 fps, 90k tbn, 25 tbc
    Metadata:
      encoder         : Lavc55.71.100 libx264
    Stream #0:1(eng): Audio: aac (libvo_aacenc), 48000 Hz, stereo, s16, 196 kb/s
    Metadata:
      encoder         : Lavc55.71.100 libvo_aacenc
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #1:0 -> #0:1 (pcm_s24le (native) -> aac (libvo_aacenc))
Press [q] to stop, [?] for help
frame=  900 fps= 44 q=-1.0 Lsize=   17628kB time=00:09:42.04 bitrate= 248.1kbits/s
video:1669kB audio:13927kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 13.033021%
[libx264 @ 00000000064187e0] frame I:12    Avg QP: 1.89  size:  8285
[libx264 @ 00000000064187e0] frame P:228   Avg QP: 0.03  size:  6566
[libx264 @ 00000000064187e0] frame B:660   Avg QP: 0.87  size:   170
[libx264 @ 00000000064187e0] consecutive B-frames:  1.3%  2.7%  0.0% 96.0%
[libx264 @ 00000000064187e0] mb I  I16..4: 100.0%  0.0%  0.0%
[libx264 @ 00000000064187e0] mb P  I16..4: 28.0%  0.0%  0.0%  P16..4:  1.1%  0.0%  0.0%  0.0%  0.0%    skip:70.9%
[libx264 @ 00000000064187e0] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.0%  0.0%  0.0%  direct: 0.7%  skip:99.3%  L0:98
.1% L1: 1.0% BI: 1.0%
[libx264 @ 00000000064187e0] coded y,uvDC,uvAC intra: 89.4% 92.9% 92.9% inter: 0.3% 0.4% 0.4%
[libx264 @ 00000000064187e0] i16 v,h,dc,p: 100%  0%  0%  0%
[libx264 @ 00000000064187e0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu:  0%  0% 100%  0%  0%  0%  0%  0%  0%
[libx264 @ 00000000064187e0] i8c dc,h,v,p: 100%  0%  0%  0%
[libx264 @ 00000000064187e0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 00000000064187e0] ref P L0: 15.1% 84.9%
[libx264 @ 00000000064187e0] ref B L0:  1.0% 99.0%
[libx264 @ 00000000064187e0] kb/s:379.75

ffprobe D:\Testing\ProxyGenSpeed\LanguageCodeTest\LCT.ts
ffprobe version N-65085-g4f91bb0 Copyright (c) 2007-2014 the FFmpeg developers
  built on Jul 28 2014 22:10:25 with gcc 4.8.3 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfi
g --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-lib
opencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge
r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --
enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
  libavutil      52. 92.101 / 52. 92.101
  libavcodec     55. 71.100 / 55. 71.100
  libavformat    55. 49.100 / 55. 49.100
  libavdevice    55. 13.102 / 55. 13.102
  libavfilter     4. 11.102 /  4. 11.102
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mpegts, from 'D:\Testing\ProxyGenSpeed\LanguageCodeTest\LCT.ts':
  Duration: 00:09:41.99, start: 1.446667, bitrate: 248 kb/s
  Program 1
    Metadata:
      service_name    : Service01
      service_provider: FFmpeg
    Stream #0:0[0x100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x101](eng): Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 196 kb/s

ffmpeg -t 36 -i [Video File] -i [Audio File] -map 0:0 -map 1:0 -vf "yadif=0:-1:0, scale=interl=1:w=iw*(oh/ih)*sar:h=720,pad=1280:720:(ow-iw)/2:(oh-ih)/2" -c:v libx264 -pix_fmt yuv420p -preset faster -profile:v main -b:v 2000k -maxrate 2000k -bufsize 80K -flags -global_header -r 25 -g 75 -c:a libvo_aacenc -b:a 196k -metadata:s:a:0 language=eng -f hls -hls_time 12 -hls_list_size 1000 "D:\Testing\ProxyGenSpeed\LanguageCodeTest\LCT.m3u8"

ffmpeg version N-65085-g4f91bb0 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jul 28 2014 22:10:25 with gcc 4.8.3 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfi
g --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-lib
opencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge
r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --
enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
  libavutil      52. 92.101 / 52. 92.101
  libavcodec     55. 71.100 / 55. 71.100
  libavformat    55. 49.100 / 55. 49.100
  libavdevice    55. 13.102 / 55. 13.102
  libavfilter     4. 11.102 /  4. 11.102
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
[h264 @ 0000000000322840] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, h264, from '[Video File]':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High 4:2:2 Intra), yuv422p10le(pc, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1
200k tbn, 50 tbc
Guessed Channel Layout for  Input Stream #1.0 : stereo
Input #1, wav, from '[Audio File]':
  Duration: 00:09:42.04, bitrate: 2304 kb/s
    Stream #1:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, 2 channels, s32, 2304 kb/s
[libx264 @ 000000000549c020] using SAR=1/1
[libx264 @ 000000000549c020] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 000000000549c020] profile Main, level 3.1
[mpegts @ 0000000007507be0] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.t
ime_base instead.
    Last message repeated 1 times
Output #0, hls, to 'D:\Testing\ProxyGenSpeed\LanguageCodeTest\LCT.m3u8':
  Metadata:
    encoder         : Lavf55.49.100
    Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 2000 kb/s, 25 fps, 25 tbn, 25 tbc

    Metadata:
      encoder         : Lavc55.71.100 libx264
    Stream #0:1(eng): Audio: aac (libvo_aacenc), 48000 Hz, stereo, s16, 196 kb/s
    Metadata:
      encoder         : Lavc55.71.100 libvo_aacenc
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #1:0 -> #0:1 (pcm_s24le (native) -> aac (libvo_aacenc))
Press [q] to stop, [?] for help
frame=  900 fps= 43 q=-1.0 Lsize=N/A time=00:09:42.04 bitrate=N/A
video:1668kB audio:13927kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[libx264 @ 000000000549c020] frame I:12    Avg QP: 1.88  size:  8285
[libx264 @ 000000000549c020] frame P:228   Avg QP: 0.03  size:  6556
[libx264 @ 000000000549c020] frame B:660   Avg QP: 0.86  size:   172
[libx264 @ 000000000549c020] consecutive B-frames:  1.3%  2.7%  0.0% 96.0%
[libx264 @ 000000000549c020] mb I  I16..4: 100.0%  0.0%  0.0%
[libx264 @ 000000000549c020] mb P  I16..4: 28.0%  0.0%  0.0%  P16..4:  1.1%  0.0%  0.0%  0.0%  0.0%    skip:70.9%
[libx264 @ 000000000549c020] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.0%  0.0%  0.0%  direct: 0.7%  skip:99.3%  L0:97
.1% L1: 1.0% BI: 1.9%
[libx264 @ 000000000549c020] coded y,uvDC,uvAC intra: 89.4% 92.9% 92.9% inter: 0.3% 0.4% 0.4%
[libx264 @ 000000000549c020] i16 v,h,dc,p: 100%  0%  0%  0%
[libx264 @ 000000000549c020] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu:  0%  0% 100%  0%  0%  0%  0%  0%  0%
[libx264 @ 000000000549c020] i8c dc,h,v,p: 100%  0%  0%  0%
[libx264 @ 000000000549c020] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 000000000549c020] ref P L0: 15.0% 85.0%
[libx264 @ 000000000549c020] ref B L0:  1.9% 98.1%
[libx264 @ 000000000549c020] kb/s:379.52

ffprobe D:\Testing\ProxyGenSpeed\LanguageCodeTest\LCT0.ts

ffprobe version N-65085-g4f91bb0 Copyright (c) 2007-2014 the FFmpeg developers
  built on Jul 28 2014 22:10:25 with gcc 4.8.3 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfi
g --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-lib
opencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge
r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --
enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
  libavutil      52. 92.101 / 52. 92.101
  libavcodec     55. 71.100 / 55. 71.100
  libavformat    55. 49.100 / 55. 49.100
  libavdevice    55. 13.102 / 55. 13.102
  libavfilter     4. 11.102 /  4. 11.102
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mpegts, from 'D:\Testing\ProxyGenSpeed\LanguageCodeTest\LCT0.ts':
  Duration: 00:00:12.03, start: 0.046667, bitrate: 641 kb/s
  Program 1
    Metadata:
      service_name    : Service01
      service_provider: FFmpeg
    Stream #0:0[0x100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tb
r, 90k tbn, 50 tbc
    Stream #0:1[0x101]: Audio: aac ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 195 kb/s

ffmpeg version N-65085-g4f91bb0
built on ... Jul 28 2014 22:10:25

Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

Change History (4)

comment:1 by Bela B, 7 years ago

I have sent a bug fix to devel-list.

comment:2 by Bela B, 7 years ago

Component: undeterminedavformat

comment:3 by Carl Eugen Hoyos, 7 years ago

Resolution: fixed
Status: newclosed

comment:4 by Carl Eugen Hoyos, 7 years ago

Version: unspecifiedgit-master
Note: See TracTickets for help on using tickets.