[FFmpeg-user] Faststart fragmented mp4
alan1523 at aol.com
alan1523 at aol.com
Sat Oct 3 16:30:40 CEST 2015
Carl,
I just released i sent you a test with version 2.6.2 , I ran the test again with the snapshot version 2.8.
It looks like both the release and the snapshot versions skip adding the sidx when using fast start. What would be the specific movflag to specify sidx ?
I was looking at the following notes to see what the flag might be : http://git.libav.org/?p=libav.git;a=commitdiff;h=26ac22e5e7394346e9d59f800e7d4e91f4518d33 <http://git.libav.org/?p=libav.git;a=commitdiff;h=26ac22e5e7394346e9d59f800e7d4e91f4518d33>
I tried ( -movflags sidx , -movflags global_sidx ) but I dont think its correct.
Thanks,
Alan
bash-3.2$ /Volumes/storage/ffmpeg/2_8_7/ffmpeg -y -i "/Volumes/storage/rendertemp/in/input.mp4" -movflags faststart -frag_duration 1000 -codec:v libx264 -profile:v baseline -pix_fmt yuv420p -b:v 500k -codec:a aac -b:a 96k -strict -2 -s 426x240 -threads 0 "/Volumes/storage/rendertemp/out/output.mp4"
ffmpeg version 2.8-tessus Copyright (c) 2000-2015 the FFmpeg developers
built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --as=yasm --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-version3 --disable-ffplay --disable-indev=qtkit --disable-indev=x11grab_xcb
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/storage/rendertemp/in/input.mp4':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2014-06-26 18:57:18
Duration: 00:00:10.00, start: 0.000000, bitrate: 36344 kb/s
Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le(bt709), 1920x1080, 34796 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 25 tbc (default)
Metadata:
creation_time : 2014-06-26 18:57:18
handler_name : Apple Alias Data Handler
encoder : Apple ProRes 422 (HQ)
timecode : 01:00:00:00
Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, 2 channels, s16, 1536 kb/s (default)
Metadata:
creation_time : 2014-06-26 18:57:18
handler_name : Apple Alias Data Handler
Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
Metadata:
creation_time : 2014-06-26 18:57:39
handler_name : Apple Alias Data Handler
timecode : 01:00:00:00
[libx264 @ 0x7f918a805e00] using SAR=640/639
[libx264 @ 0x7f918a805e00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x7f918a805e00] profile Constrained Baseline, level 2.1
[libx264 @ 0x7f918a805e00] 264 - core 146 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=0 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '/Volumes/storage/rendertemp/out/output.mp4':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
encoder : Lavf56.40.101
Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 426x240 [SAR 640:639 DAR 16:9], q=-1--1, 500 kb/s, 25 fps, 12800 tbn, 25 tbc (default)
Metadata:
creation_time : 2014-06-26 18:57:18
handler_name : Apple Alias Data Handler
timecode : 01:00:00:00
encoder : Lavc56.60.100 libx264
Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 96 kb/s (default)
Metadata:
creation_time : 2014-06-26 18:57:18
handler_name : Apple Alias Data Handler
encoder : Lavc56.60.100 aac
Stream mapping:
Stream #0:0 -> #0:0 (prores (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (pcm_s16le (native) -> aac (native))
Press [q] to stop, [?] for help
frame= 50 fps=0.0 q=0.0 size= 0kB time=00:00:01.96 bitrate= 0.1kbits/sframe= 100 fps= 99 q=11.0 size= 98kB time=00:00:04.71 bitrate= 170.4kbits/fframe= 250 fps= 97 q=-1.0 Lsize= 598kB time=00:00:10.00 bitrate= 489.2kbits/s ps= 99 q=3.0 size= 330kB time=00:00:07.97 bitrate= 339.1kbits/s
video:392kB audio:118kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 17.320520%
[libx264 @ 0x7f918a805e00] frame I:1 Avg QP:18.29 size: 3102
[libx264 @ 0x7f918a805e00] frame P:249 Avg QP: 2.27 size: 1596
[libx264 @ 0x7f918a805e00] mb I I16..4: 84.9% 0.0% 15.1%
[libx264 @ 0x7f918a805e00] mb P I16..4: 0.8% 0.0% 0.3% P16..4: 28.4% 0.2% 0.3% 0.0% 0.0% skip:70.0%
[libx264 @ 0x7f918a805e00] final ratefactor: -0.03
[libx264 @ 0x7f918a805e00] coded y,uvDC,uvAC intra: 39.9% 60.7% 40.0% inter: 13.2% 11.6% 11.3%
[libx264 @ 0x7f918a805e00] i16 v,h,dc,p: 76% 20% 4% 0%
[libx264 @ 0x7f918a805e00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 26% 24% 7% 3% 2% 4% 4% 3%
[libx264 @ 0x7f918a805e00] i8c dc,h,v,p: 36% 26% 37% 1%
[libx264 @ 0x7f918a805e00] ref P L0: 98.2% 0.9% 0.9%
[libx264 @ 0x7f918a805e00] kb/s:320.38
bash-3.2$
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> On Oct 3, 2015, at 9:23 AM, alan1523 at aol.com wrote:
>
> Carl,
>
> I attempted the cli call below on the dev branch as well as on the release.
>
> When I try on the dev branch it gives an error of : [mp4 @ 0x7fa099012200] Starting second pass: inserting sidx atoms Non-consecutive fragments, writing incorrect sidx
>
> When I try on the release branch it skips the second pass completely.
>
> Thanks,
> Alan
>
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> bash-3.2# ffmpeg -y -i "/Volumes/storage/rendertemp/in/input.mp4" -movflags faststart -frag_duration 1000 -codec:v libx264 -profile:v baseline -pix_fmt yuv420p -b:v 500k -codec:a aac -b:a 96k -strict -2 -s 426x240 -threads 0 "/Volumes/storage/rendertemp/out/output.mp4"
> ffmpeg version 2.6.2-tessus Copyright (c) 2000-2015 the FFmpeg developers
> built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
> configuration: --cc=/usr/bin/clang --prefix=/Users/helmutt/data/ext/ffmpeg/sw --as=yasm --extra-version=tessus --disable-shared --enable-static --disable-ffplay --enable-gpl --enable-pthreads --enable-postproc --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libxvid --enable-libspeex --enable-bzlib --enable-zlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxavs --enable-libsoxr --enable-libwavpack --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvpx --enable-libgsm --enable-libopus --enable-libmodplug --enable-fontconfig --enable-libfreetype --enable-libass --enable-libbluray --enable-filters --disable-indev=qtkit --disable-indev=x11grab_xcb --enable-runtime-cpudetect
> libavutil 54. 20.100 / 54. 20.100
> libavcodec 56. 26.100 / 56. 26.100
> libavformat 56. 25.101 / 56. 25.101
> libavdevice 56. 4.100 / 56. 4.100
> libavfilter 5. 11.102 / 5. 11.102
> libswscale 3. 1.101 / 3. 1.101
> libswresample 1. 1.100 / 1. 1.100
> libpostproc 53. 3.100 / 53. 3.100
> Guessed Channel Layout for Input Stream #0.1 : stereo
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/storage/rendertemp/in/input.mp4':
> Metadata:
> major_brand : qt
> minor_version : 537199360
> compatible_brands: qt
> creation_time : 2014-06-26 18:57:18
> Duration: 00:00:10.00, start: 0.000000, bitrate: 36344 kb/s
> Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le(bt709), 1920x1080, 34796 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 25 tbc (default)
> Metadata:
> creation_time : 2014-06-26 18:57:18
> handler_name : Apple Alias Data Handler
> encoder : Apple ProRes 422 (HQ)
> timecode : 01:00:00:00
> Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, 2 channels, s16, 1536 kb/s (default)
> Metadata:
> creation_time : 2014-06-26 18:57:18
> handler_name : Apple Alias Data Handler
> Stream #0:2(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
> Metadata:
> creation_time : 2014-06-26 18:57:39
> handler_name : Apple Alias Data Handler
> timecode : 01:00:00:00
> [libx264 @ 0x7fa099012e00] using SAR=640/639
> [libx264 @ 0x7fa099012e00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
> [libx264 @ 0x7fa099012e00] profile Constrained Baseline, level 2.1
> [libx264 @ 0x7fa099012e00] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html <http://www.videolan.org/x264.html> - options: cabac=0 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
> Output #0, mp4, to '/Volumes/storage/rendertemp/out/output.mp4':
> Metadata:
> major_brand : qt
> minor_version : 537199360
> compatible_brands: qt
> encoder : Lavf56.25.101
> Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 426x240 [SAR 640:639 DAR 16:9], q=-1--1, 500 kb/s, 25 fps, 12800 tbn, 25 tbc (default)
> Metadata:
> creation_time : 2014-06-26 18:57:18
> handler_name : Apple Alias Data Handler
> timecode : 01:00:00:00
> encoder : Lavc56.26.100 libx264
> Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 96 kb/s (default)
> Metadata:
> creation_time : 2014-06-26 18:57:18
> handler_name : Apple Alias Data Handler
> encoder : Lavc56.26.100 aac
> Stream mapping:
> Stream #0:0 -> #0:0 (prores (native) -> h264 (libx264))
> Stream #0:1 -> #0:1 (pcm_s16le (native) -> aac (native))
> Press [q] to stop, [?] for help
> frame= 53 fps=0.0 q=0.0 size= 0kB time=00:00:02.94 bitrate= 0.1kbits/sframe= 108 fps=107 q=10.0 size= 115kB time=00:00:04.94 bitrate= 190.5kbits/frame= 162 fps=107 q=5.0 size= 239kB time=00:00:06.95 bitrate= 281.5kbits/sframe= 217 fps=108 q=2.0 size= 375kB time=00:00:08.93 bitrate= 343.9kbits/s[mp4 @ 0x7fa099012200] Starting second pass: inserting sidx atoms
> Non-consecutive fragments, writing incorrect sidx
> Last message repeated 863 times
> frame= 250 fps=105 q=-1.0 Lsize= 609kB time=00:00:10.00 bitrate= 498.6kbits/s
> video:392kB audio:118kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 19.531601%
> [libx264 @ 0x7fa099012e00] frame I:1 Avg QP:18.29 size: 3102
> [libx264 @ 0x7fa099012e00] frame P:249 Avg QP: 2.27 size: 1596
> [libx264 @ 0x7fa099012e00] mb I I16..4: 84.9% 0.0% 15.1%
> [libx264 @ 0x7fa099012e00] mb P I16..4: 0.8% 0.0% 0.3% P16..4: 28.4% 0.2% 0.3% 0.0% 0.0% skip:70.0%
> [libx264 @ 0x7fa099012e00] final ratefactor: -0.03
> [libx264 @ 0x7fa099012e00] coded y,uvDC,uvAC intra: 39.9% 60.7% 40.0% inter: 13.2% 11.6% 11.3%
> [libx264 @ 0x7fa099012e00] i16 v,h,dc,p: 76% 20% 4% 0%
> [libx264 @ 0x7fa099012e00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 26% 24% 7% 3% 2% 4% 4% 3%
> [libx264 @ 0x7fa099012e00] i8c dc,h,v,p: 36% 26% 37% 1%
> [libx264 @ 0x7fa099012e00] ref P L0: 98.2% 0.9% 0.9%
> [libx264 @ 0x7fa099012e00] kb/s:320.38
>> On Oct 2, 2015, at 9:57 PM, Carl Eugen Hoyos <cehoyos at ag.or.at <mailto:cehoyos at ag.or.at>> wrote:
>>
>> alan1523 <at> aol.com <http://aol.com/> <alan1523 <at> aol.com <http://aol.com/>> writes:
>>
>>> Is it possible to have a single cli request the create
>>> an x264 .mp4 file that is fragmented as well have its
>>> moov atom shifted to the start to be able to do fast
>>> start streaming ?
>>
>> Please test the global_sidx flag.
>>
>> Carl Eugen
>>
>> _______________________________________________
>> ffmpeg-user mailing list
>> ffmpeg-user at ffmpeg.org <mailto:ffmpeg-user at ffmpeg.org>
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
More information about the ffmpeg-user
mailing list