网站设计开户,电影爱好网,wordpress防止f12,在线网站模板概述
ffmpeg 是一个命令行音视频后期处理软件
1. 裁剪命令
参数说明
-i 文件#xff0c;orgin.mp3 为待处理源文件-ss 裁剪时间#xff0c;后跟裁剪开始时间#xff0c;或者开始的秒数-t 裁剪时间output.mp3 为处理结果文件
ffmpeg -i organ.mp3 -ss 00:00:xx -t 120 o…概述
ffmpeg 是一个命令行音视频后期处理软件
1. 裁剪命令
参数说明
-i 文件orgin.mp3 为待处理源文件-ss 裁剪时间后跟裁剪开始时间或者开始的秒数-t 裁剪时间output.mp3 为处理结果文件
ffmpeg -i organ.mp3 -ss 00:00:xx -t 120 output.mp3
ffmpeg -i organ.mp3 -ss 360 -t 230 output.mp3
2. 合成命令 2.1 混合合成 参数说明
-i 文件 1.mp3 和 2.mp3 为待合成的两个源文件-filter_complex 过滤器参数amixinputs 配置输入的整体样本数durationfirst长度取决于第一个文件longest长度取决于时间最长文件shortest长度取决于时间最短文件dropout_transition输入流结束时用于体积重新规范化的过渡时间-f mp3 设置导出文件格式 ffmpeg -i 1.mp3 -i 2.mp3 -filter_complex amixinputs2:durationfirst:dropout_transition2 -f mp3 remix.mp3
2.2 连接合成
参数说明
concat 合并文件指令
ffmpeg -i concat:Box01.mp3|Box02.mp3 Box.mp3
ffmpeg -i concat:headerNew.mp3|006.mp3 -acodec copy demo6.mp3
2.3 淡出效果
参数说明
afade 淡入淡出指令从 st 秒开始经过 d 秒钟的淡出效果
ffmpeg -i bgm3.mp3 -filter_complex afadetout:st16:d4 bgm31.mp3
2.4 合并背景音和视频
首先需要将原视频的声音删除。这里的文件名需要加上英文引号如果不加的话会提示No such file or directory。
ffmpeg -i audio.mp4 -y -f mp4 -an -codec copy -q:v 1 audio-无声.mp4
然后将无声视频和音频融合
ffmpeg -i audio-无声.mp4 -i accompaniment.wav -c:v copy -c:a aac -strict experimental audio-消音.mp4
即可获得消去人声的视频。但笔者口语不好觉得原视频的语速有些快了故又调整了视频倍速为0.8倍速。
ffmpeg -i test.mp4 -filter_complex [0:v]setpts10/8*PTS[v];[0:a]atempo0.8[a] -map [v] -map [a] test-2.mp4
这条指令同时调整视频倍速和音频倍速setpts(倍速的倒数)*PTS[v]atempo(倍速)[a]
【免费分享】音视频学习资料包、大厂面试题、技术视频和学习路线图资料包括C/CLinuxFFmpeg webRTC rtmp hls rtsp ffplay srs 等等有需要的可以点击788280672加群免费领取~ 3. 转换调整命令
3.1 格式转换
参数说明
-i 文件a.mp3 为待处理源文件-ar 音频抽样率-ac 音频Channel数-f 强制输出格式 例如mp3, wav等 # 将a.mp3转化程a.wav设定抽样率为16000
ffmpeg -i a.mp3 -ar 16000 -ac 1 a.wav
# 将Frozen.mka转化成a.mp3
ffmpeg -i Frozen.mka -ar 16000 -f mp3 a.mp3
3.2 音量调整
参数说明
-i 文件a.mp3 为待处理源文件
# 音量256为原始音量如果要调整到两倍音量则设置为512调整到一半音量则设为128下面为减小一半音量的命令
ffmpeg -i Box.mp3 -vol 128 box3.mp3
# 使用dB调整音量
ffmpeg -i a.mp3 -af volume-20dB b.mp3 dB的换算公式 1.1 dB 1.1 倍2 dB 1.25倍3 dB 1.4倍6 dB 2 倍10 dB 3 倍20 dB 10 倍30 dB 30 倍。其它就可以用上述数值换算并不困难。(反过来 – 6 dB 就是 1/2 0.5) 2.在换算时要把握一个原则dB数值的相加 等于 倍数的相乘。 例如40 dB 20dB 20 dB 10 * 10 100 倍 -20dB谱宽就是信号衰减到十分之一时的频谱带宽。
3.3 升降调
# 升半音
ffmpeg -i mine.mkv -filter_complex asetrate48000*2^(1/12),atempo1/2^(1/12) output.mkv
# 升全音
ffmpeg -i mine.mkv -filter_complex asetrate48000*2^(2/12),atempo1/2^(2/12) output.mkv
# 降半音
ffmpeg -i mine.mkv -filter_complex asetrate48000*2^(-1/12),atempo1/2^(-1/12) output.mkv
# 降全音
ffmpeg -i mine.mkv -filter_complex asetrate48000*2^(-2/12),atempo1/2^(-2/12) output.mkv
3.4 音频速率调整
改变音频速率最简单的方法是直接调整音频的采样率但是与此同时这种方法会改变音频的音色。目前一般采用对原音进行重采样差值等方法来实现。下面这行命令的倍率调整范围为0.5到2。
ffmpeg -i input.mkv -filter:a atempo2.0 -vn output.mkv如果想要再快的话需要更改命令通过将多个atempo过滤器串接在一起来绕过这个限制。
ffmpeg -i input.mkv -filter:a atempo2.0,atempo2.0 -vn output.mkv
3.5 视频速率调整
改变视频的播放速率是通过修改视频的表示时间戳PTS来实现的。举个简单的例子如果在时间戳1和2处显示两个连续帧我们想要加快视频速度那么这两个时间戳需要分别变为0.5和1。因此我们必须把他们乘以0.5。
ffmpeg -i input.mkv -r 16 -filter:v setpts0.5*PTS output.mkv对视频进行加速时为了不丢帧可以利用-r 参数指定输出的fps。 一般来说视频倍速还需要将视频中的音频也一同倍速通过混合的过滤图实现命令如下
ffmpeg -i input.mkv -filter_complex [0:v]setpts0.5*PTS[v];[0:a]atempo2.0[a] -map [v] -map [a] output.mkv
4. 提取命令
4.1 从视频中提取音频
参数说明
-map 提取视频-音频流的序号 -b:a 码率 kb/s -f 强制输出格式 例如mp3, wav等
# 从frozen.mkv中提取音频文件保存为audio.1.mp3
ffmpeg -i frozen.mkv -map 0:1 -b:a 64k -f mp3 a.1.mp3
ffmpeg -i frozen.mp4 -q:a 0 -map a audio.mp3
ffmpeg -i frozen.mp4 -vn -codec copy audio.m4a
ffmpeg -i audio.m4a -y -acodec libmp3lame -aq 0 audio.mp3
查看视频包含的视频流、音频流如下 encoder : libebml v1.2.3 libmatroska v1.3.0 Duration: 01:42:13.09, start: 0.000000, bitrate: 2954 kb/s Stream #0:0: Video: h264 (High), yuv420p, 1024x576 [SAR 1:1 DAR 16:9], 23.98 fps Stream #0:1(eng): Audio: ac3, 48000 Hz, 384 kb/s (default) title : 英语 Stream #0:2(chi): Audio: ac3, 48000 Hz, 384 kb/s title : 台配 Stream #0:3(chi): Audio: ac3, 48000 Hz, 384 kb/s title : 粤语查看原音视频文件音轨频率
ffmpeg -i mine.mkv
命令执行后找到音轨的Stream频率为48000Hz Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 2316x1440, 22449 kb/s, 30 fps, 30 tbr, 600 tbn, 1200 tbc (default)Metadata:creation_time : 2022-08-31T02:15:18.000000Zhandler_name : Core Media Videovendor_id : [0][0][0][0]encoder : H.264Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 2 kb/s (default)Metadata:creation_time : 2022-08-31T02:15:18.000000Zhandler_name : Core Media Audiovendor_id : [0][0][0][0]
5. 消音命令
参数说明
-i 文件a.mp3 为待处理源文件-ac 音频Channel数
ffmpeg -i file.mp3 -af panstereo|c0c0|c1-1*c1 -ac 1 karaoke.mp3
原文链接 ffmpeg 常用命令行详解 - 掘金