我试图在ffmpeg启动时将大量wav文件延迟2秒。 到目前为止,即使知道我有ReadTFM,我也无法让它工作。 这是我的命令
for %%A in (*.wav) do (
ffmpeg -i "%%A" -itsoffset 00:00:02 "%%~NA"1.wav )
没有任何改变。文件只是被复制了。我也试过用mp3s。 随着时间的推移,我想也许这个命令只是简单地将延迟写入容器,但没有什么东西。试过mkv和avi。
答案 0 :(得分:4)
在指定输入之前,必须放置-itsoffset。所以:
ffmpeg -itsoffset 00:00:02 -i "%%A" "%%~NA"1.wav
答案 1 :(得分:2)
更改输入时间偏移不会对单个流做任何明显的事情,它意味着修复音频和视频流之间的不同步问题。
你想在一开始的两秒沉默吗?如果是这样,一个简单的工作方式(虽然它可能感觉有点hackish)就是在实际输入之前简单地使用2秒WAV充满静音。这可以通过在实际文件之前添加另一个-i选项来实现:
ffmpeg -i 2secsilence.wav -i "%%A" "%%~NA"1.wav
答案 2 :(得分:2)
我知道这个问题已经超过9个月了,但我偶然发现了它并希望添加更多关于'-itsoffset'的信息。来自ffmpeg故障单页面(https://ffmpeg.org/trac/ffmpeg/ticket/1349):
此命令应该比file2内容早一秒显示file1内容:
ffmpeg -itsoffset -1 -i file1.ts -i file2.ts -vcodec copy -acodec copy -map 0:0 -map 1:1 out.ts
1)我看到-itsoffset在文件中添加或减去所有时间戳(视频和音频流)。所以这个选项只有在从单独的输入文件重新转换时才会有用。
2)outfile具有.ts和.mkv容器的播放行为。
3)它不适用于.avi(没有时间戳,所以不是一个惊喜)
4)它不适用于.mp4容器(一个bug?)
这就是今天这个问题的立场。