[FFmpeg-user] generation of fragmented mpf (ismv) slightly changed from version 2.4.5 to 2.5.2?

Martin Bene Martin.Bene at icomedias.com
Fri Mar 13 15:20:00 CET 2015

when using ffmpeg to generate .ismv files for microsoft smooth streaming there seems to be a slight change in the generated .ismv files that results in problems with playback:

when using ismindex on the .ismv files generated with 2.4.5, I get an initial timestamp of 0 for the client manifest (.ismc) with subsequent timestams also based on whole second boundaries. These files play without issue-
For files generated with 2.5.2, I get a non-zero partial second initial timestamp; these files play OK but fail if I use the scrub control of a player to reposition - after the seek, the player requests video fragments based on whole second which fails (since the actual fragments are at whole second + fraction).

Commandline used to generate the .ismv files:
Ffmpeg -i source.mp4 -c:v libx264 -r 25 -g 50 -keyint_min 50 -x264opts pic-struct:no-scenecut -movflags frag_keyframe -y -an -profile:v main -s 512x288 -b:v 650k test.ismv

Manifest fragment for file generated by 2.4.5:

                <StreamIndex Type="video" QualityLevels="4" Chunks="20" Url="QualityLevels({bitrate})/Fragments(video={start time})">
                               <QualityLevel Index="0" Bitrate="1109175" FourCC="H264" MaxWidth="720" MaxHeight="576" CodecPrivateData="000000016742C01ED900B4126C0440000003004000000C87C58B920000000168CB8CB2" />
                               <QualityLevel Index="1" Bitrate="622527" FourCC="H264" MaxWidth="512" MaxHeight="384" CodecPrivateData="000000016742C015D9008031BFF000F00101000003000100000300321F162E480000000168CB8CB2" />
                               <QualityLevel Index="2" Bitrate="350334" FourCC="H264" MaxWidth="384" MaxHeight="288" CodecPrivateData="000000016742C015D9018096FFC003C00404000003000400000300C87C58B9200000000168CB8CB2" />
                               <QualityLevel Index="3" Bitrate="199931" FourCC="H264" MaxWidth="256" MaxHeight="192" CodecPrivateData="000000016742C00DD901019BFF000F00101000000300100000030321F142A4800000000168CB8CB2" />
                               <c d="19600000" />
                               <c d="20000000" />

Manifest fragement for file generated by 2.5.2:

                <StreamIndex Type="video" QualityLevels="1" Chunks="20" Url="QualityLevels({bitrate})/Fragments(video={start time})">
                               <QualityLevel Index="0" Bitrate="649506" FourCC="H264" MaxWidth="512" MaxHeight="288" CodecPrivateData="00000001674D4015ECA04012DFF8016802008000000300800000190F8B16CB0000000168EBECB2" />
                               <c d="20000000" t="800000" />
                               <c d="20000000" />

Any idea if I'm doing anything wrong here or if this is actually a problem that should be fixed?

Thanks, Martin
No Disclaimer.icomedias

More information about the ffmpeg-user mailing list