[FFmpeg-devel] [PATCH 1/2] avformat/dashenc: Fix the EXT-X-TARGETDURATION as per the hls specification
Jeyapal, Karthick
kjeyapal at akamai.com
Thu Dec 21 18:37:10 EET 2017
>On 12/21/17, 9:47 PM, "Steven Liu" <lingjiujianke at gmail.com> wrote:
>
>I cannot sure if this patch can fix the problem playlist target
>duration not same.
>
>MacBook:xxx StevenLiu$ ./ffmpeg -hide_banner -i
>~/bbb_sunflower_1080p_30fps_normal.mp4 -g 150 -r 100 -x264opts
>"scenecut=-1" -f dash -min_seg_duration 1000000 -window_size 99999 -t
>5 -hls_playlist 1 output_Steven.mpd
That is because the key frames are not getting inserted at the 1 second segment duration.
Please add the option -force_key_frames “expr:gte(t,n_forced*1)” in order to generate segments with exact 1 second duration.
akamai at akamai-VirtualBox:~/ffmpeg$ ./ffmpeg -hide_banner -i ~/Downloads/big_buck_bunny_1080p_stereo.avi -g 150 -r 100 -force_key_frames "expr:gte(t,n_forced*1)" -x264opts "scenecut=-1" -f dash -min_seg_duration 1000000 -window_size 99999 -t 5 -hls_playlist 1 /tmp/output_Steven.mpd
Input #0, avi, from '/home/akamai/Downloads/big_buck_bunny_1080p_stereo.avi':
Metadata:
encoder : MEncoder 2:1.0~rc2-0ubuntu13
Duration: 00:09:56.46, start: 0.000000, bitrate: 9586 kb/s
Stream #0:0: Video: msmpeg4v2 (MP42 / 0x3234504D), yuv420p, 1920x1080, 9328 kb/s, 24 fps, 24 tbr, 24 tbn, 24 tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 245 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (msmpeg4v2 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (mp3 (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0xe513c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0xe513c0] profile High, level 5.1
[libx264 @ 0xe513c0] 264 - core 142 r2389 956c8d8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - 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=6 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=150 keyint_min=15 scenecut=0 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[dash @ 0xe4dc60] No bit rate set for stream 0
[dash @ 0xe4dc60] Opening '/tmp/init-stream0.m4s' for writing
[dash @ 0xe4dc60] Opening '/tmp/init-stream1.m4s' for writing
[dash @ 0xe4dc60] Opening '/tmp/output_Steven.mpd.tmp' for writing
Bandwidth info not available, set audio and video bitrates
Output #0, dash, to '/tmp/output_Steven.mpd':
Metadata:
encoder : Lavf58.3.100
Stream #0:0: Video: h264 (libx264), yuv420p, 1920x1080, q=-1--1, 100 fps, 12800 tbn, 100 tbc
Metadata:
encoder : Lavc58.8.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s
Metadata:
encoder : Lavc58.8.100 aac
[dash @ 0xe4dc60] Opening '/tmp/chunk-stream0-00001.m4s.tmp' for writing drop=0 speed=0.67x
[dash @ 0xe4dc60] Opening '/tmp/chunk-stream1-00001.m4s.tmp' for writing
[dash @ 0xe4dc60] Opening '/tmp/output_Steven.mpd.tmp' for writing
[dash @ 0xe4dc60] Opening '/tmp/chunk-stream0-00002.m4s.tmp' for writing drop=0 speed=0.55x
[dash @ 0xe4dc60] Opening '/tmp/chunk-stream1-00002.m4s.tmp' for writing
[dash @ 0xe4dc60] Opening '/tmp/output_Steven.mpd.tmp' for writing
[dash @ 0xe4dc60] Opening '/tmp/chunk-stream0-00003.m4s.tmp' for writing drop=0 speed=0.552x
[dash @ 0xe4dc60] Opening '/tmp/chunk-stream1-00003.m4s.tmp' for writing
[dash @ 0xe4dc60] Opening '/tmp/output_Steven.mpd.tmp' for writing
[dash @ 0xe4dc60] Opening '/tmp/chunk-stream0-00004.m4s.tmp' for writing drop=0 speed=0.543x
[dash @ 0xe4dc60] Opening '/tmp/chunk-stream1-00004.m4s.tmp' for writing
[dash @ 0xe4dc60] Opening '/tmp/output_Steven.mpd.tmp' for writing
[dash @ 0xe4dc60] Opening '/tmp/chunk-stream0-00005.m4s.tmp' for writing drop=0 speed=0.507x
[dash @ 0xe4dc60] Opening '/tmp/chunk-stream1-00005.m4s.tmp' for writing
[dash @ 0xe4dc60] Opening '/tmp/output_Steven.mpd.tmp' for writing
frame= 500 fps= 46 q=-1.0 Lsize=N/A time=00:00:05.01 bitrate=N/A dup=380 drop=0 speed=0.462x
video:1902kB audio:78kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[libx264 @ 0xe513c0] frame I:5 Avg QP:16.48 size: 61803
[libx264 @ 0xe513c0] frame P:177 Avg QP:20.84 size: 8582
[libx264 @ 0xe513c0] frame B:318 Avg QP:20.45 size: 376
[libx264 @ 0xe513c0] consecutive B-frames: 12.2% 0.8% 24.6% 62.4%
[libx264 @ 0xe513c0] mb I I16..4: 37.3% 59.0% 3.7%
[libx264 @ 0xe513c0] mb P I16..4: 2.8% 13.1% 0.1% P16..4: 12.0% 2.3% 1.8% 0.0% 0.0% skip:67.9%
[libx264 @ 0xe513c0] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 4.8% 0.0% 0.0% direct: 0.1% skip:95.1% L0:76.2% L1:23.6% BI: 0.3%
[libx264 @ 0xe513c0] 8x8 transform intra:78.6% inter:67.3%
[libx264 @ 0xe513c0] coded y,uvDC,uvAC intra: 8.6% 17.6% 3.8% inter: 1.2% 2.5% 0.4%
[libx264 @ 0xe513c0] i16 v,h,dc,p: 67% 20% 9% 4%
[libx264 @ 0xe513c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 44% 16% 37% 0% 0% 0% 0% 0% 0%
[libx264 @ 0xe513c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36% 11% 10% 6% 8% 8% 7% 6% 7%
[libx264 @ 0xe513c0] i8c dc,h,v,p: 68% 18% 13% 1%
[libx264 @ 0xe513c0] Weighted P-Frames: Y:24.9% UV:13.0%
[libx264 @ 0xe513c0] ref P L0: 78.7% 10.4% 9.2% 1.7% 0.0%
[libx264 @ 0xe513c0] ref B L0: 88.5% 10.4% 1.1%
[libx264 @ 0xe513c0] ref B L1: 96.6% 3.4%
[libx264 @ 0xe513c0] kb/s:3115.94
[aac @ 0xe51d20] Qavg: 467.452
akamai at akamai-VirtualBox:~/ffmpeg$ cat /tmp/media_0.m3u8
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:1
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-MAP:URI="init-stream0.m4s"
#EXTINF:1.000000,
chunk-stream0-00001.m4s
#EXTINF:1.000000,
chunk-stream0-00002.m4s
#EXTINF:1.000000,
chunk-stream0-00003.m4s
#EXTINF:1.000000,
chunk-stream0-00004.m4s
#EXTINF:1.000000,
chunk-stream0-00005.m4s
#EXT-X-ENDLIST
akamai at akamai-VirtualBox:~/ffmpeg$ cat /tmp/media_1.m3u8
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:1
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-MAP:URI="init-stream1.m4s"
#EXTINF:0.981333,
chunk-stream1-00001.m4s
#EXTINF:1.002667,
chunk-stream1-00002.m4s
#EXTINF:1.002667,
chunk-stream1-00003.m4s
#EXTINF:1.002667,
chunk-stream1-00004.m4s
#EXTINF:1.010667,
chunk-stream1-00005.m4s
#EXT-X-ENDLIST
Thanks and regards,
Karthick
>
>
>Thanks
>
>Steven
More information about the ffmpeg-devel
mailing list