“FFmpeg”的版本间的差异
跳到导航
跳到搜索
(未显示同一用户的10个中间版本) | |||
第14行: | 第14行: | ||
=== 加速 === | === 加速 === | ||
− | + | 可用于音频和视频。加速音频 1.2 倍 <ref>[https://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video How to speed up / slow down a video]</ref>: | |
ffmpeg -i input.mp3 -filter:a atempo=1.2 -vn output.mp3 | ffmpeg -i input.mp3 -filter:a atempo=1.2 -vn output.mp3 | ||
第28行: | 第28行: | ||
* <code>-af</code> 表示使用 audio filter | * <code>-af</code> 表示使用 audio filter | ||
* <code>afftdn</code> 是 filter 的名字 | * <code>afftdn</code> 是 filter 的名字 | ||
− | * <code>nr=50 | + | * <code>nr=50</code> 和 <code>nf=-40</code> 是 <code>afftdn</code> 的两个参数,其他参数可在 [https://ffmpeg.org/ffmpeg-filters.html#afftdn 详细的说明] 中查看,或者在 [https://man.archlinux.org/man/extra/ffmpeg/ffmpeg-filters.1.en <code>man ffmpeg-filters</code>] 中搜索 <code>afftdn</code> |
=== 两个视频左右拼接 === | === 两个视频左右拼接 === | ||
第38行: | 第38行: | ||
=== 连接视频 === | === 连接视频 === | ||
− | + | 先创建一个文件 <code>inputs</code> | |
<syntaxhighlight lang=bash> | <syntaxhighlight lang=bash> | ||
第47行: | 第47行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | 然后执行命令 | + | 然后执行命令 <ref>[https://trac.ffmpeg.org/wiki/Concatenate Concatenating media files]</ref> |
ffmpeg -f concat -safe 0 -i inputs -c copy output.mp4 | ffmpeg -f concat -safe 0 -i inputs -c copy output.mp4 | ||
第75行: | 第75行: | ||
ffmpeg -i input.mp4 -vf vidstabtransform,unsharp=5:5:0.8:3:3:0.4 output.mp4 | ffmpeg -i input.mp4 -vf vidstabtransform,unsharp=5:5:0.8:3:3:0.4 output.mp4 | ||
− | == | + | == 参考资料 == |
<references /> | <references /> | ||
− | [[Category: | + | [[Category:命令行]] |
2021年5月13日 (四) 23:39的最新版本
FFmpeg 是一个视频、音频处理工具。
例子
录屏
ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0+0,0 output.mp4
录音
ffmpeg -f pulse -i default output.wav
可使用 pulsemixer
设置 default 设备。
加速
可用于音频和视频。加速音频 1.2 倍 [1]:
ffmpeg -i input.mp3 -filter:a atempo=1.2 -vn output.mp3
音频去噪
可以使用 afftdn
filter 进行去噪。
示例:
ffmpeg -i input.webm -af afftdn=nr=50:nf=-40 output.webm
-af
表示使用 audio filterafftdn
是 filter 的名字nr=50
和nf=-40
是afftdn
的两个参数,其他参数可在 详细的说明 中查看,或者在man ffmpeg-filters
中搜索afftdn
两个视频左右拼接
ffmpeg -i input1.mov -i input2.mov -filter_complex hstack output.mov
需要上下拼接则将 hstack
改为 vstack
。
连接视频
先创建一个文件 inputs
cat > inputs <<EOF
file '/path/to/input1.mp4'
file './relative/input2.mp4'
EOF
然后执行命令 [2]
ffmpeg -f concat -safe 0 -i inputs -c copy output.mp4
或者使用 bash 写一个脚本 vidcat。
vidcat input1.mp4 input2.mp4 -o output.mp4
从视频中提取音频
ffmpeg -i input.flv -vn -acodec copy output.aac
-vn
: no video-acodec copy
: use the same audio stream that's already in there
剪裁
可用于音频和视频。从第 10 秒开始,持续 6.5 秒:
ffmpeg -ss 10 -t 6.5 -i input.mp3 output.mp3
给视频去抖动
https://github.com/georgmartius/vid.stab
ffmpeg -i input.mp4 -vf vidstabdetect -f null - ffmpeg -i input.mp4 -vf vidstabtransform,unsharp=5:5:0.8:3:3:0.4 output.mp4