[FFmpeg-trac] #8904(ffmpeg:new): HLS missing CODECS for H.265 streams

FFmpeg trac at avcodec.org
Mon Oct 12 13:09:19 EEST 2020


#8904: HLS missing CODECS for H.265 streams
-------------------------------------+----------------------------------
             Reporter:  command_tab  |                    Owner:
                 Type:  enhancement  |                   Status:  new
             Priority:  normal       |                Component:  ffmpeg
              Version:  unspecified  |               Resolution:
             Keywords:  hls          |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+----------------------------------
Changes (by stevenliu):

 * cc: liuqi05@… (added)


Comment:

 try this patch please:
 https://patchwork.ffmpeg.org/project/ffmpeg/patch/20201012091813.55564-1-lq@chinaffmpeg.org/


 test local:
 {{{
 (base) liuqi05:clang liuqi$ ./ffmpeg -i /Users/liuqi/Movies/Test/ToS-
 4k-1920.mov -i /Users/liuqi/Movies/Test/ToS-4k-1920.mov -i
 /Users/liuqi/Movies/Test/ToS-4k-1920.mov -i /Users/liuqi/Movies/Test/ToS-
 4k-1920.mov -s:v:0 1920x1080 -c:a:0 aac -b:a 192k -c:v:0 libx265 -b:v:0
 4000k -s:v:1 1280x720 -c:a:1 aac -b:a 160k -c:v:1 libx265 -b:v:1 2000k
 -s:v:2 854x480 -c:a:2 aac -b:a 160k -c:v:2 libx264 -b:v:2 1000k -s:v:3
 640x360 -c:a:3 aac -b:a 128k -c:v:3 libx264 -b:v:3 600k -map 0:a -map 0:v
 -map 1:a -map 1:v -map 2:a -map 2:v -map 3:a -map 3:v -var_stream_map
 "v:0,a:0 v:1,a:1 v:2,a:2 v:3,a:3" -threads 0 -f hls -movflags
 frag_keyframe -hls_flags single_file -hls_segment_type mpegts
 -hls_list_size 0 -hls_time 2 -hls_allow_cache 1 -master_pl_name
 index1.m3u8 -y -tag:v:0 hvc1 -tag:v:1 hvc1 -t 1  master_%v.m3u8
 ffmpeg version git-2020-10-12-54d178fc69 Copyright (c) 2000-2020 the
 FFmpeg developers
   built with Apple clang version 12.0.0 (clang-1200.0.32.2)
   configuration: --cc=clang --quiet --enable-htmlpages --enable-libx264
 --enable-libxml2 --enable-gpl --extra-ldflags='-O0 -g3 -fsanitize=address
 -Wno-error -fPIC -I/usr/local/include' --extra-ldflags='-O0 -g3
 -fsanitize=address -Wno-error -fPIC -L/usr/local/lib' --enable-libfreetype
 --enable-fontconfig --enable-libspeex --enable-libopus --enable-libzmq
 --enable-libx265 --enable-libass --enable-videotoolbox --disable-
 optimizations --enable-audiotoolbox --enable-opengl --disable-stripping
 --samples=fate-suite/
   libavutil      56. 59.100 / 56. 59.100
   libavcodec     58.106.100 / 58.106.100
   libavformat    58. 58.100 / 58. 58.100
   libavdevice    58. 11.102 / 58. 11.102
   libavfilter     7. 87.100 /  7. 87.100
   libswscale      5.  8.100 /  5.  8.100
   libswresample   3.  8.100 /  3.  8.100
   libpostproc    55.  8.100 / 55.  8.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/liuqi/Movies/Test/ToS-
 4k-1920.mov':
   Metadata:
     major_brand     : qt
     minor_version   : 512
     compatible_brands: qt
     encoder         : Lavf54.29.104
   Duration: 00:12:14.17, start: 0.000000, bitrate: 8051 kb/s
     Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
 1920x800 [SAR 1:1 DAR 12:5], 7862 kb/s, 24 fps, 24 tbr, 24 tbn, 48 tbc
 (default)
     Metadata:
       handler_name    : VideoHandler
       encoder         : libx264
     Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
 stereo, fltp, 182 kb/s (default)
     Metadata:
       handler_name    : SoundHandler
 Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/liuqi/Movies/Test/ToS-
 4k-1920.mov':
   Metadata:
     major_brand     : qt
     minor_version   : 512
     compatible_brands: qt
     encoder         : Lavf54.29.104
   Duration: 00:12:14.17, start: 0.000000, bitrate: 8051 kb/s
     Stream #1:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
 1920x800 [SAR 1:1 DAR 12:5], 7862 kb/s, 24 fps, 24 tbr, 24 tbn, 48 tbc
 (default)
     Metadata:
       handler_name    : VideoHandler
       encoder         : libx264
     Stream #1:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
 stereo, fltp, 182 kb/s (default)
     Metadata:
       handler_name    : SoundHandler
 Input #2, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/liuqi/Movies/Test/ToS-
 4k-1920.mov':
   Metadata:
     major_brand     : qt
     minor_version   : 512
     compatible_brands: qt
     encoder         : Lavf54.29.104
   Duration: 00:12:14.17, start: 0.000000, bitrate: 8051 kb/s
     Stream #2:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
 1920x800 [SAR 1:1 DAR 12:5], 7862 kb/s, 24 fps, 24 tbr, 24 tbn, 48 tbc
 (default)
     Metadata:
       handler_name    : VideoHandler
       encoder         : libx264
     Stream #2:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
 stereo, fltp, 182 kb/s (default)
     Metadata:
       handler_name    : SoundHandler
 Input #3, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/liuqi/Movies/Test/ToS-
 4k-1920.mov':
   Metadata:
     major_brand     : qt
     minor_version   : 512
     compatible_brands: qt
     encoder         : Lavf54.29.104
   Duration: 00:12:14.17, start: 0.000000, bitrate: 8051 kb/s
     Stream #3:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
 1920x800 [SAR 1:1 DAR 12:5], 7862 kb/s, 24 fps, 24 tbr, 24 tbn, 48 tbc
 (default)
     Metadata:
       handler_name    : VideoHandler
       encoder         : libx264
     Stream #3:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
 stereo, fltp, 182 kb/s (default)
     Metadata:
       handler_name    : SoundHandler
 Stream mapping:
   Stream #0:1 -> #0:0 (aac (native) -> aac (native))
   Stream #0:0 -> #0:1 (h264 (native) -> hevc (libx265))
   Stream #1:1 -> #0:2 (aac (native) -> aac (native))
   Stream #1:0 -> #0:3 (h264 (native) -> hevc (libx265))
   Stream #2:1 -> #0:4 (aac (native) -> aac (native))
   Stream #2:0 -> #0:5 (h264 (native) -> h264 (libx264))
   Stream #3:1 -> #0:6 (aac (native) -> aac (native))
   Stream #3:0 -> #0:7 (h264 (native) -> h264 (libx264))
 Press [q] to stop, [?] for help
 x265 [info]: HEVC encoder version 3.2
 x265 [info]: build info [Mac OS X][clang 11.0.3][64 bit] 8bit
 x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX
 FMA3 BMI2 AVX2
 x265 [info]: Main profile, Level-4 (Main tier)
 x265 [info]: Thread pool created using 12 threads
 x265 [info]: Slices                              : 1
 x265 [info]: frame threads / pool features       : 3 / wpp(17 rows)
 x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
 x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
 x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 3
 x265 [info]: Keyframe min / max / scenecut / bias: 24 / 250 / 40 / 5.00
 x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
 x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
 x265 [info]: References / ref-limit  cu / depth  : 3 / off / on
 x265 [info]: AQ: mode / str / qg-size / cu-tree  : 2 / 1.0 / 32 / 1
 x265 [info]: Rate Control / qCompress            : ABR-4000 kbps / 0.60
 x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip signhide tmvp
 b-intra
 x265 [info]: tools: strong-intra-smoothing lslices=6 deblock sao
 x265 [info]: HEVC encoder version 3.2
 x265 [info]: build info [Mac OS X][clang 11.0.3][64 bit] 8bit
 x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX
 FMA3 BMI2 AVX2
 x265 [info]: Main profile, Level-3.1 (Main tier)
 x265 [info]: Thread pool created using 12 threads
 x265 [info]: Slices                              : 1
 x265 [info]: frame threads / pool features       : 3 / wpp(12 rows)
 x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
 x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
 x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 3
 x265 [info]: Keyframe min / max / scenecut / bias: 24 / 250 / 40 / 5.00
 x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
 x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
 x265 [info]: References / ref-limit  cu / depth  : 3 / off / on
 x265 [info]: AQ: mode / str / qg-size / cu-tree  : 2 / 1.0 / 32 / 1
 x265 [info]: Rate Control / qCompress            : ABR-2000 kbps / 0.60
 x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip signhide tmvp
 b-intra
 x265 [info]: tools: strong-intra-smoothing lslices=4 deblock sao
 [libx264 @ 0x619000016380] using SAR=576/427
 [libx264 @ 0x619000016380] using cpu capabilities: MMX2 SSE2Fast SSSE3
 SSE4.2 AVX FMA3 BMI2 AVX2
 [libx264 @ 0x619000016380] profile High, level 3.0, 4:2:0, 8-bit
 [libx264 @ 0x619000016380] 264 - core 161 r3018 db0d417 - H.264/MPEG-4 AVC
 codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options:
 cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1
 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1
 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=15
 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0
 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1
 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=24
 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=1000
 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
 [libx264 @ 0x619000018180] using SAR=27/20
 [libx264 @ 0x619000018180] using cpu capabilities: MMX2 SSE2Fast SSSE3
 SSE4.2 AVX FMA3 BMI2 AVX2
 [libx264 @ 0x619000018180] profile High, level 3.0, 4:2:0, 8-bit
 [libx264 @ 0x619000018180] 264 - core 161 r3018 db0d417 - H.264/MPEG-4 AVC
 codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options:
 cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1
 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1
 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=11
 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0
 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1
 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=24
 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=600
 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
 [hls @ 0x61b000005b80] Opening 'master_0.ts' for writing
     Last message repeated 1 times
 [hls @ 0x61b000005b80] Opening 'master_1.ts' for writing
     Last message repeated 1 times
 [hls @ 0x61b000005b80] Opening 'master_2.ts' for writing
     Last message repeated 1 times
 [hls @ 0x61b000005b80] Opening 'master_3.ts' for writing
     Last message repeated 1 times
 Output #0, hls, to 'master_%v.m3u8':
   Metadata:
     major_brand     : qt
     minor_version   : 512
     compatible_brands: qt
     encoder         : Lavf58.58.100
     Stream #0:0(eng): Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s
 (default)
     Metadata:
       handler_name    : SoundHandler
       encoder         : Lavc58.106.100 aac
     Stream #0:1(eng): Video: hevc (libx265) (hvc1 / 0x31637668),
 yuv420p(progressive), 1920x1080 [SAR 27:20 DAR 12:5], q=-1--1, 4000 kb/s,
 24 fps, 90k tbn, 24 tbc (default)
     Metadata:
       handler_name    : VideoHandler
       encoder         : Lavc58.106.100 libx265
     Side data:
       cpb: bitrate max/min/avg: 0/0/4000000 buffer size: 0 vbv_delay: N/A
     Stream #0:2(eng): Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s
 (default)
     Metadata:
       handler_name    : SoundHandler
       encoder         : Lavc58.106.100 aac
     Stream #0:3(eng): Video: hevc (libx265) (hvc1 / 0x31637668),
 yuv420p(progressive), 1280x720 [SAR 27:20 DAR 12:5], q=-1--1, 2000 kb/s,
 24 fps, 90k tbn, 24 tbc (default)
     Metadata:
       handler_name    : VideoHandler
       encoder         : Lavc58.106.100 libx265
     Side data:
       cpb: bitrate max/min/avg: 0/0/2000000 buffer size: 0 vbv_delay: N/A
     Stream #0:4(eng): Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s
 (default)
     Metadata:
       handler_name    : SoundHandler
       encoder         : Lavc58.106.100 aac
     Stream #0:5(eng): Video: h264 (libx264), yuv420p(progressive), 854x480
 [SAR 576:427 DAR 12:5], q=-1--1, 1000 kb/s, 24 fps, 90k tbn, 24 tbc
 (default)
     Metadata:
       handler_name    : VideoHandler
       encoder         : Lavc58.106.100 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/1000000 buffer size: 0 vbv_delay: N/A
     Stream #0:6(eng): Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s
 (default)
     Metadata:
       handler_name    : SoundHandler
       encoder         : Lavc58.106.100 aac
     Stream #0:7(eng): Video: h264 (libx264), yuv420p, 640x360 [SAR 27:20
 DAR 12:5], q=-1--1, 600 kb/s, 24 fps, 90k tbn, 24 tbc (default)
     Metadata:
       handler_name    : VideoHandler
       encoder         : Lavc58.106.100 libx264
     Side data:
       cpb: bitrate max/min/avg: 0/0/600000 buffer size: 0 vbv_delay: N/A
 [hls @ 0x61b000005b80] Opening 'master_0.m3u8.tmp' for writing0:00.95
 bitrate=N/A speed=0.945x
 [hls @ 0x61b000005b80] Opening 'master_1.m3u8.tmp' for writing
 [hls @ 0x61b000005b80] Opening 'master_2.m3u8.tmp' for writing
 [hls @ 0x61b000005b80] Opening 'master_3.m3u8.tmp' for writing
 [hls @ 0x61b000005b80] Opening 'index1.m3u8' for writing
 frame=   24 fps= 14 q=20.0 Lq=14.8 q=-1.0 q=-1.0 size=N/A time=00:00:01.02
 bitrate=N/A speed=0.594x
 video:10kB audio:72kB subtitle:0kB other streams:0kB global headers:4kB
 muxing overhead: unknown
 [aac @ 0x619000011880] Qavg: 15011.605
 x265 [info]: frame I:      1, Avg QP:32.41  kb/s: 115.58
 x265 [info]: frame P:      5, Avg QP:24.93  kb/s: 58.06
 x265 [info]: frame B:     18, Avg QP:28.72  kb/s: 20.87
 x265 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
 x265 [info]: consecutive B-frames: 16.7% 0.0% 0.0% 33.3% 50.0%

 encoded 24 frames in 1.70s (14.12 fps), 32.57 kb/s, Avg QP:28.09
 [aac @ 0x619000013680] Qavg: 15011.605
 x265 [info]: frame I:      1, Avg QP:25.75  kb/s: 54.53
 x265 [info]: frame P:      5, Avg QP:18.63  kb/s: 49.65
 x265 [info]: frame B:     18, Avg QP:23.12  kb/s: 13.62
 x265 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
 x265 [info]: consecutive B-frames: 16.7% 0.0% 0.0% 33.3% 50.0%

 encoded 24 frames in 1.67s (14.34 fps), 22.83 kb/s, Avg QP:22.29
 [aac @ 0x619000015480] Qavg: 15011.605
 [libx264 @ 0x619000016380] frame I:1     Avg QP:10.00  size:   124
 [libx264 @ 0x619000016380] frame P:6     Avg QP: 6.96  size:    94
 [libx264 @ 0x619000016380] frame B:17    Avg QP:11.12  size:    25
 [libx264 @ 0x619000016380] consecutive B-frames:  4.2%  0.0% 12.5% 83.3%
 [libx264 @ 0x619000016380] mb I  I16..4: 100.0%  0.0%  0.0%
 [libx264 @ 0x619000016380] mb P  I16..4:  0.0%  0.0%  0.1%  P16..4:  0.0%
 0.0%  0.0%  0.0%  0.0%    skip:99.9%
 [libx264 @ 0x619000016380] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.1%
 0.0%  0.0%  direct: 0.0%  skip:99.9%  L0:100.0% L1: 0.0% BI: 0.0%
 [libx264 @ 0x619000016380] final ratefactor: -2.37
 [libx264 @ 0x619000016380] 8x8 transform intra:0.1%
 [libx264 @ 0x619000016380] coded y,uvDC,uvAC intra: 0.4% 0.0% 0.0% inter:
 0.0% 0.0% 0.0%
 [libx264 @ 0x619000016380] i16 v,h,dc,p: 97%  0%  3%  0%
 [libx264 @ 0x619000016380] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu:  0%  0% 75%  0%
 25%  0%  0%  0%  0%
 [libx264 @ 0x619000016380] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 12% 41%  5%
 3%  4%  2%  4%  3%
 [libx264 @ 0x619000016380] i8c dc,h,v,p: 100%  0%  0%  0%
 [libx264 @ 0x619000016380] Weighted P-Frames: Y:0.0% UV:0.0%
 [libx264 @ 0x619000016380] kb/s:8.94
 [aac @ 0x619000017280] Qavg: 15011.605
 [libx264 @ 0x619000018180] frame I:1     Avg QP:12.00  size:    91
 [libx264 @ 0x619000018180] frame P:6     Avg QP: 7.15  size:    83
 [libx264 @ 0x619000018180] frame B:17    Avg QP:10.71  size:    20
 [libx264 @ 0x619000018180] consecutive B-frames:  4.2%  0.0% 12.5% 83.3%
 [libx264 @ 0x619000018180] mb I  I16..4: 100.0%  0.0%  0.0%
 [libx264 @ 0x619000018180] mb P  I16..4:  0.0%  0.0%  0.1%  P16..4:  0.0%
 0.0%  0.0%  0.0%  0.0%    skip:99.9%
 [libx264 @ 0x619000018180] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.1%
 0.0%  0.0%  direct: 0.0%  skip:99.9%  L0:100.0% L1: 0.0% BI: 0.0%
 [libx264 @ 0x619000018180] final ratefactor: -0.32
 [libx264 @ 0x619000018180] 8x8 transform intra:0.0%
 [libx264 @ 0x619000018180] coded y,uvDC,uvAC intra: 0.4% 0.0% 0.0% inter:
 0.0% 0.0% 0.0%
 [libx264 @ 0x619000018180] i16 v,h,dc,p: 96%  0%  4%  0%
 [libx264 @ 0x619000018180] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19%  1% 53%  6%
 4%  6%  4%  2%  4%
 [libx264 @ 0x619000018180] i8c dc,h,v,p: 100%  0%  0%  0%
 [libx264 @ 0x619000018180] Weighted P-Frames: Y:0.0% UV:0.0%
 [libx264 @ 0x619000018180] kb/s:7.46
 (base) liuqi05:clang liuqi$ cat index1.m3u8
 #EXTM3U
 #EXT-X-VERSION:4
 #EXT-X-STREAM-
 INF:BANDWIDTH=4540800,RESOLUTION=1920x1080,CODECS="hvc1.1.4.L120.B01,mp4a.40.2"
 master_0.m3u8

 #EXT-X-STREAM-
 INF:BANDWIDTH=2340800,RESOLUTION=1280x720,CODECS="hvc1.1.4.L93.B01,mp4a.40.2"
 master_1.m3u8

 #EXT-X-STREAM-
 INF:BANDWIDTH=1240800,RESOLUTION=854x480,CODECS="avc1.64001e,mp4a.40.2"
 master_2.m3u8

 #EXT-X-STREAM-
 INF:BANDWIDTH=800800,RESOLUTION=640x360,CODECS="avc1.64001e,mp4a.40.2"
 master_3.m3u8

 (base) liuqi05:clang liuqi$
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/8904#comment:3>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list