gpt4 book ai didi

audio - ffmpeg 在输出时将 start_time 设置为负值

转载 作者:行者123 更新时间:2023-12-03 00:08:37 28 4
gpt4 key购买 nike

我们一直在使用旧版本的 ffmpeg,现在我们需要升级到更新的版本(例如 2.6),在将 .mov 转换为 .mp4 时遇到了问题。

例如,我有一个 .mov 视频文件,它有两个流,视频和音频,都使用 start_time=0 并且当我使用以下方法转换它时:

ffmpeg -i my_file.mov my_file.mp4

输出 mp4 有一个 start_time=-0.021333 的音频流。

FORMAT部分,如ffprobe -show_format -show_streams my_file.mp4所示
也有 start_time=-0.021333

我们使用的以前版本的ffmpeg没有这个问题......

当我们在网络浏览器中使用

dom.currentTime = 0 shows the first frame
dom.currentTime = 1/24 (fps is 24) shows the first frame again
dom.currentTime = 2/24 shows the second frame instead of the third frame
dom.currentTime = 3/24 shows the third frame instead of the fourth frame
...

我们认为这是由字段 start_time=-0.021333 引起的

这对我们来说是个大问题……

它是 chrome 和 firefox 的复制品,但不知何故 safari 对此没有任何问题......

谷歌搜索后,我们发现我们不是唯一遇到此问题的人,但尚不清楚解决方案是什么。

有人建议使用“-c:a copy”参数,它在某些文件上有效,但在其他一些文件上出错:

无法为输出文件 #0 写入 header (编解码器参数不正确?):参数无效

所以这似乎不是一个强大的解决方案......

任何帮助,将不胜感激。

最佳答案

您可以尝试完全避免负面 TS

ffmpeg -i my_file.mov -avoid_negative_ts make_zero my_file.mp4

使用您的输入文件,我运行了这个命令,
ffmpeg -i AnimalTrancoding_v001_Shot0020.mov out.mp4

在输出上运行 ffprobe,
 ffprobe -show_entries format=start_time:stream=start_time -of compact out.mp4

我懂了
stream|start_time=0.000000
stream|start_time=0.000000
stream|start_time=0.000000
format|start_time=0.000000

前几帧的比较没有显示与源相关的任何重复或丢失。

我正在运行最近的夜间构建(2016 年 5 月)。

关于audio - ffmpeg 在输出时将 start_time 设置为负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37219997/

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