Phi*_*pos 4 ffmpeg video-editing video avconv trim
我avconv
用于修剪和转换视频。假设我想删除视频流的前 7 秒和后 2.5 秒以及一小时mts
文件的一个音频流:
avconv -i input.mts -map 0:0 -map 0:3 -ss 0:0:07 -t 0:59:50.5 out.mov
Run Code Online (Sandbox Code Playgroud)
到目前为止,这有效,但现在我想通过添加以下内容在开头和结尾添加两秒钟的淡入淡出:
-vf fade=type=in:start_frame=350:nb_frames=100 -vf fade=type=out:start_frame=178750:nb_frames=100
Run Code Online (Sandbox Code Playgroud)
这些帧是使用avconv
为视频源报告的 50 fps 计算的。但是既没有淡入也没有淡出。
1) 视频淡入淡出是什么问题,如何正确处理?2) 如何添加音频淡入淡出。似乎有一个-afade
选择。但我没有发现它被记录在案。
或者,您可以为此目标提出不同的工具(修剪和淡化视频和音频),最好作为 Debian 8 的软件包提供。
我终于有时间尝试@Mario G. 建议的答案,但这似乎非常麻烦。我需要这样做几十次。我阅读了 的文档ffmpeg
并发现它比 强大得多avconv
,包括音频和视频的淡入淡出,所以解决方案是
ffmpeg -i input.mts -map 0:0 -map 0:3 -ss 0:0:07 -to 0:59:57.5 -vf 'fade=t=in:st=7:d=2,fade=t=out:st=3595.5:d=2,crop=out_h=692' -af 'afade=t=in:st=7:d=2,afade=t=out:st=3595.5:d=2' out.mov
Run Code Online (Sandbox Code Playgroud)
因此淡入淡出的st=
和d=
参数需要以秒为单位的时间,无需转换为帧。
我还发现了-to
直接取结束时间而不是计算长度的选项。
此命令执行所有步骤
-map
,-ss
和修剪-to
,-vf
选项fade=t=in
和的视频淡入淡出fade=t=out
,-af
选项afade=t=in
和afade=t=out
和的音频衰落-vf
选项裁剪crop=
一步到位。