Muk*_*ike 7 dts ffmpeg audio-video-sync ffprobe
观察-第一部分
我在其他地方看到了运行以下命令的建议,以查看我的.mp4是否有问题。
ffmpeg -v error -i ~/Desktop/5_minute_sync_output_15mn.mp4 -f null - 2>error.log
Run Code Online (Sandbox Code Playgroud)
当我运行上面的命令时,在下面显示的行上看到了很多日志。
应用程序向流0中的复用器提供了无效的,非单调递增的dts:15635> = 15635
通过大量的搜索和阅读,我了解到解码时间戳不是按顺序排列的。
观察-第二部分
但是,使用以下命令和一些后期处理检查相同mp4的帧时,我没有看到pkt_dtsframes_info json中的视频或音频流出现故障。
ffprobe -loglevel panic -of json -show_frames ~/Desktop/5_minute_sync_output_15mn.mp4
Run Code Online (Sandbox Code Playgroud)
这使我怀疑我对“ 观察-一部分-我”的初步理解
这2件事无关吗?任何帮助,将不胜感激。
小智 5
此消息与输入文件的有效性无关,它来自不接受非单调 dts 的输出格式。许多输入格式都支持非单调 dts ( grep -r AVFMT_TS_NONSTRICT FFmpeg),因此不一定是文件的问题。
该null格式不需要任何时间戳,如下所示AVFMT_NOTIMESTAMPS:
AVFMT_TS_NONSTRICT但是,除非在标志中设置,否则 dts 检查仍然会发生nullenc.c:
这似乎是一个疏忽,检查传递给空格式的时间戳的有效性是没有意义的。其他实际上不对数据进行编码的格式(例如哈希格式)也具有该AVFMT_TS_NONSTRICT标志。
| 归档时间: |
|
| 查看次数: |
2786 次 |
| 最近记录: |