Opened 6 years ago
Closed 5 years ago
#8904 closed enhancement (fixed)
HLS missing CODECS for H.265 streams
| Reported by: | Collin Allen | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | ffmpeg |
| Version: | unspecified | Keywords: | hls |
| Cc: | liuqi05@kuaishou.com | Blocked By: | |
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
When encoding media using ffmpeg for multiple HLS streams, the master playlist does not include the CODECS attribute for H.265 videos, but it does for H.264 videos. Here's a contrived command I'm running:
ffmpeg \ -i INPUT.mov \ -i INPUT.mov \ -i INPUT.mov \ -i INPUT.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 index.m3u8 \ -y \ master_%v.m3u8
After the command runs successfully, index.m3u8 contains:
#EXTM3U #EXT-X-VERSION:4 #EXT-X-STREAM-INF:BANDWIDTH=4540800,RESOLUTION=1920x1080 master_0.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=2340800,RESOLUTION=1280x720 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
The H.264 streams have a CODECS attribute, but the H.265 streams do not. According to [Apple's documentation https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/creating_a_master_playlist], the CODECS attribute is not required, but is recommended.
Since the logic for producing the attribute is already present for H.264 streams, could it be enabled for H.265 streams as well?
I've observed the current behavior with ffmpeg 4.3.1 under macOS Catalina 10.15.6 (19G2021).
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
Change History (6)
comment:1 by , 6 years ago
comment:2 by , 6 years ago
This stems from issues I ran into some time ago. See comments in ticket:7480 and patch comment http://ffmpeg.org/pipermail/ffmpeg-devel/2018-October/235394.html for more details.
Essentially, one of the two reasons was that playback of HEVC content may fail even with properly constructed codec info while it works fine without it. The second was missing knowledge of proper syntax.
So this is the way FFmpeg handles it for the time being.
comment:3 by , 6 years ago
| Cc: | added |
|---|
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$
follow-up: 5 comment:4 by , 6 years ago
Thanks for the patch! This looks excellent. Is there a way to download the ffmpeg source tree at this patch/branch?
comment:5 by , 5 years ago
Replying to Collin Allen:
Thanks for the patch! This looks excellent. Is there a way to download the ffmpeg source tree at this patch/branch?
Are you serious right now? It is already in the master. a2b1dd0ce301450a47c972745a6b33c4c273aa5d
comment:6 by , 5 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Fixed in 812f39ee85ac27a7e11a374150e60a4614f060b1.



This stems from issues I ran into some time ago. See comments in ticket:7480 and patch comment http://ffmpeg.org/pipermail/ffmpeg-devel/2018-October/235394.html for more details.
Essentially, one of the two reasons was that playback of HEVC content may fail even with properly constructed codec info while it works fine without it. The second was missing knowledge of proper syntax.
So this is the way FFmpeg handles it for the time being.