ffmpeg覆盖输出文件(如果存在)

Muh*_*lam 81 php ffmpeg

我正在创建一个.FLAC带有startend时间的音频文件的剪辑,这是我的command.

ffmpeg -i /audio/191079007530_1_01.flac 
       -t 51 
       -ss 69 
/clips/44z274v23303t264y2z2s2s2746454t234_clip.mp3 2>&1 >> /ffmpegLogs.log
Run Code Online (Sandbox Code Playgroud)

我在PHP代码中使用此命令,我的问题是,

当我在控制台上运行此命令时,switch如果输出文件已存在于目标中,它会要求我覆盖该文件,如果文件存在,我应该使用什么command或额外的内容.FLAC来自动覆盖.

Vee*_*eer 167

使用-y您的命令选项

ffmpeg -y 
-i /audio/your_file_name.flac 
-t 51 
-ss 69 
/clips/your_clip_name.mp3 2>&1 >> /ffmpegLogs.log
Run Code Online (Sandbox Code Playgroud)

  • 另外,还有`-n`选项可以自动永不覆盖文件. (7认同)
  • 对于YES -y和NO -n. (4认同)
  • 感兴趣的人可以链接到相关文档:https://ffmpeg.org/ffmpeg.html#toc-Main-options (2认同)

lem*_*yen 25

如果有人使用ffmpeg-python包装器,那么您可以overwrite_output在运行流时使用 arg 。

stream = ffmpeg.input('dummy.mp4')
stream = ffmpeg.filter(stream, 'fps', fps=25, round='up')
stream = ffmpeg.output(stream, 'dummy2.mp4')
ffmpeg.run(stream, overwrite_output=True)
Run Code Online (Sandbox Code Playgroud)

  • 正在寻找这个确切的东西,谢谢! (5认同)

Muh*_*lam 18

我需要-y在指定输出文件之前添加全局开关来完成此操作

ffmpeg -i /audio/191079007530_1_01.flac -t 51 -ss 69 -y /clips/44z274v23303t264y2z2s2s2746454t234_clip.mp3 2>&1 >> /ffmpegLogs.log
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用该-n选项拒绝覆盖该文件.

  • 我没有投票,但有一个很好的理由是你问了一个问题,只是在8分钟后自己回答.在询问之前更好地做研究.您还选择了自己的答案作为"最佳答案",而不是另一个有用的用户提供的答案.基本上,礼仪很差. (4认同)
  • 即使马上回答你自己的问题也是完美的.它帮助我找到了我正在寻找的答案 - 这就是SO的全部意义所在.https://meta.stackexchange.com/questions/17845/etiquette-for-answering-your-own-question (3认同)