gpt4 book ai didi

FFmpeg - 非单调递增的 dts 是什么意思?

转载 作者:行者123 更新时间:2023-12-04 22:44:42 26 4
gpt4 key购买 nike

观察 - 第一部分 - I

我在其他地方看到了运行以下命令的建议,以查看我的 .mp4 是否有问题。

ffmpeg -v error  -i ~/Desktop/5_minute_sync_output_15mn.mp4 -f null - 2>error.log

当我运行上述命令时,我会在下面显示的行中看到一大堆日志。

Application provided invalid, non monotonically increasing dts to muxer in stream 0: 15635 >= 15635



这一点,通过搜索和阅读,我了解到解码时间戳不是按顺序排列的。

观察 - 第二部分

但是,使用以下命令和一些后处理检查同一 mp4 的帧,我看不到 pkt_dts在 frame_info json 中,无论是视频流还是音频流都出现故障。
ffprobe -loglevel panic -of json -show_frames ~/Desktop/5_minute_sync_output_15mn.mp4

这让我怀疑我对 的初步理解观察 - 第一部分 - I

这两件事不相关吗?
对此的任何帮助将不胜感激。

最佳答案

此消息与输入文件的有效性无关,它来自不接受非单调 dts 的输出格式。许多输入格式支持非单调的 dts (grep -r AVFMT_TS_NONSTRICT FFmpeg),因此不一定是文件的问题。null格式不需要任何时间戳,如 AVFMT_NOTIMESTAMPS 所示。 :
https://github.com/FFmpeg/FFmpeg/blob/ce8f77a903e1108bde774d5e0e59d8cd24f18c46/libavformat/nullenc.c#L36
但是,除非 AVFMT_TS_NONSTRICT,否则 dts 检查仍会发生。设置在 nullenc.c标志:
https://github.com/FFmpeg/FFmpeg/blob/ce8f77a903e1108bde774d5e0e59d8cd24f18c46/libavformat/mux.c#L563
这似乎是一个疏忽,检查传递给 null 格式的时间戳的有效性是没有意义的。其他实际上不对数据进行编码的格式,如哈希格式,也有 AVFMT_TS_NONSTRICT旗帜。

关于FFmpeg - 非单调递增的 dts 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46231348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com