![]() ![]() Application provided invalid, non monotonically increasing dts to muxer in stream 0: 98 >= 97 video:47kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknownįrame= 100 fps= 26 q=-0.0 Lsize=N/A time=00:00:01.96 bitrate=N/A speed=0.51x Application provided invalid, non monotonically increasing dts to muxer in stream 0: 99 >= 98 Still, you were not using last version: Lavf58.51.101 is old. You must playback the invalid MP4 in Google Chrome % mp4box -add b-frames.hevc -new hevc_mp4box_copy_valid.mp4 % ffmpeg -i b-frames.hevc -c hevc hevc_ffmpeg_reencode_valid.mp4 % ffmpeg -i b-frames.hevc -c copy hevc_ffmpeg_copy_invalid.mp4 % mp4box -add b-frames.h264 -new h264_mp4box_copy_valid.mp4 ![]() ![]() % ffmpeg -i b-frames.h264 -c h264 h264_ffmpeg_reencode_valid.mp4 ![]() % ffmpeg -i b-frames.h264 -c copy h264_ffmpeg_copy_invalid.mp4 How to reproduce (latest ffmpeg with Lavf60.5.100): Google Chrome cannot playback the file hevc_ffmpeg_copy_yuv422p10le_ok.mp4, so I tested this file in Adobe Premiere Pro 2022. But everything seems ok in case of HEVC B-frames yuv422p10le with the same GOP. Note ffmpeg muxes an invalid file from HEVC B-frames yuv420p10le. You must playback the invalid H264 MP4 in Google Chrome or QuickTime to see the issue. Note the invalid file may be played correctly if the video decoder is smart enough ( MediaPlayerClassic, VLC, etc.). It is impossible to mux the valid file without reencoding. So it is possible to get the valid file only reencoding the video stream. Note the video decoder will reorder frames and fix the frames timestamps. Ffmpeg calculates invalid timestamps importing. ![]()
0 Comments
Leave a Reply. |