matroska-specification
matroska-specification copied to clipboard
add ability to mark video as repeating every 4th frame?
One thing that I've seen on a lot of video is that 24fps content is encoded as 30fps content by simply repeating every 4th frame. This results in judder on playback.
Would it be interesting / in scope to be able to specify metadata for a video track that can tell a player that it can (if it wants) drop every 5th frame and treat the content video fps as fps*(4/5) (i.e. 30fps content becomes 24, 29.97 becomes 23.976). The content would still be encoded as every 5th frame repeating every 4th frame, but by packaging it into an matroska container can provide better information to player on how to play it optimally (if player is so capable).
That information is normally stored at the codec level as a "repeat" field. In FFmpeg the codecs that have such repeat_pict
information are
- MPEG2
- H264
- HEVC
- VC1
Transcoding these to other codecs would lose that information, so it would good to keep at the container level, indeed.
so encountered content like this again, so wrote a ticket again, forgetting that I had already filed it previously. I'd note that the content I'm dealing with is h264 and doesn't seem to have the "repeat" flag set. I'm wondering if there be a way to add it lossesly to the video stream? Right now by solution is to transcode with ffmpeg (decimate filter), but that's not a great solution.