[FFmpeg-user] PTS lost when scaling individual DASH segments

christopher justin christopher.justin at gmail.com
Tue May 24 18:55:10 EEST 2022

We encoded an mp4 into segmented DASH with a single 3Mbps profile.  We
manually edited the MPD to expose a 1.5Mbps profile (no segments exist
for this profile).
We built a small app to transcode on-the-fly any request for a 1.5Mbps
profile. We do this by concatenating the init segment and m4s 3Mbps
segment for the given segment request and then transcode to 1.5Mbps.

Requests for any segment other than the first are not playable.
Inspecting these segments shows the PTS is always zero.  In other
words, when the mp4 is generated and scaled to 1.5Mbps, the PTS is not
preserved.  We have tried many parameter options (copyts, genpts,
igndts) to no success . The setpts option is only used for adjusting
the incoming PTS to do different effects, so it seems there is no way
to affect the output PTS.

This can be tested on the command line by concatenating multiple
scaled init and m4s segments together. Example command line to produce
and init and m4s output:

ffmpeg -i BigBuckBunny.mp4 -an -copyts -vsync passthrough -ss
"00:00:15" -t 5 -vf "scale=-2:480" -f dash manifest.mpd

Any suggestions and advice are appreciated.



More information about the ffmpeg-user mailing list