我如何在 ffmpeg 中做到这一点?

我如何在 ffmpeg 中做到这一点?

要从 6 分钟的视频中每 9 秒删除 1 秒的视频片段,如果音频也存在,请生成 ffmpeg 代码。我无法获得输出,您能帮助我们吗

答案1

没有单个 ffmpeg 命令,但您可以创建一个批处理文件:

@echo off

set "input_file=%~1"
set "output_file=output.mp4"
ffmpeg  -i "%input_file%" -c copy -f segment -segment_time 10 -reset_timestamps 1 -map 0 "%input_file%_chunk%%03d.mp4"

set "chunk_number=1"

for %%F in ("%input_file%_chunk*.mp4") do (
   
    ffmpeg -ss 0 -t 00:00:09 -i "%%F" "trimmed_%%~nF.mp4"
    echo file 'trimmed_%%~nF.mp4' >> list.txt
    set /a "chunk_number+=1"

)

ffmpeg -f concat -safe 0 -i list.txt "%output_file%"

del "%input_file%_chunk*.mp4"
del "trimmed_*.mp4"
del "list.txt"

echo Video processing complete. Output file: %output_file%
pause

只需将其保存为“.bat”文件,然后将任何视频拖放到其中。

相关内容