【ffmpeg】最全简单实用教程|安装音频视频剪切融合拼接抽帧等

FFmpeg

ffmpeg 官方文档
FFMPEG常用命令

Download(Mac)

brew

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

ffmpeg

brew install ffmpeg

常用操作(最全最简单)

都是自己用过的命令,有些有多种方法,但是只给了自己常用的一种(比如视频剪切,尝试过不同的方法,有的音视频不能同步有的剪切出来分辨率不高,记录在帖子里的没有上面哪几种问题)希望能给你一些帮助

音频

音频转换格式

将 xxx 文件转换为 wav音频

ffmpeg -y -i engine-input.mp4/mp3/wav/avi... -f wav -ar 16000 -ac 1 wav2midi-input.wav

参数解释:

-i 设定输入流
-f 设定输出格式 
-ar 设定采样率
-ac 设定声音的Channel数 (1表示单声道,2就是立体声)
-acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器

多个音频混音

ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix=inputs=3:duration=first:dropout_transition=3 OUTPUT
ffmpeg -i 你一定要幸福_svocal.wav -i 你一定要幸福_accomp.wav -filter_complex amix=inputs=2:duration=first:dropout_transition=2 你一定要幸福.wav -y

改变音量大小

ffmpeg -i input.wav -af volume=-3dB output.wav

音频淡入淡出

ffmpeg -i 12.mp3 -filter afade=t=in:ss=5:d=3 tttt111t.wav   //从5秒开始淡入3秒,淡入开始前都是最低音量
ffmpeg -i 12.mp3 -filter afade=t=out:st=5.3:d=5 danchu.mp3  //5.3秒开始淡出5秒,淡出后面变成静音,无论是否已经完成

调整音频速率

简单的方法是调整音频采样率,但是这种方法会改变音色,
一般采用通过对原音进行冲采样,差值等方法。

ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv

注意:

  • 倍率调整范围为[0.5, 2.0]
  • 如果需要调整4倍可采用以下方法:
ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv

音频延迟

延迟 1000 ms

ffmpeg -i futurebass300.wav  -filter_complex adelay="1000|1000"  futurebass-300-d1.wav

静音音频

-t 11 代表生成多少 s 的静音

ffmpeg -f lavfi -t 11 -i anullsrc test.aac -y
ffmpeg -y -i test.aac -f wav -ar 44100 -ac 1 science.wav -y

音频拼接

音频前插入一段静音

ffmpeg -i science.wav -i input.wav -filter_complex '[0:0] [1:0] concat=n=2:v=0:a=1 [a]' -map [a] output.wav -y

视频

抽帧

ffmpeg -i input.mp4  -q:v 2 -f image2 output/%d.jpeg -y

帧合成视频

ffmpeg -f image2 -i output/%d.jpeg -i 1.wav -acodec copy  output.mp4 -y

抽取视频中的音频

ffmpeg -i  input.mp4 -vn -y -acodec copy output.wav -y'

替换视频音轨

ffmpeg -i .mp4 -i input.wav -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0  output.mp4 -y

剪切

ffmpeg -ss 71 -t 52 -accurate_seek -i input.mp4 -codec copy -avoid_negative_ts 1 output.mp4  -y

拼接

ffmpeg -i input1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts
ffmpeg -i input2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts
ffmpeg -i "concat:1.ts|2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4

音视频

FFMPEG基本概念
在讲解 FFMPEG 命令之前,我们先要介绍一些音视频格式的基要概念。

音/视频流

在音视频领域,我们把一路音/视频称为一路流。如我们小时候经常使用VCD看港片,在里边可以选择粤语或国语声音,其实就是CD视频文件中存放了两路音频流,用户可以选择其中一路进行播放。

容器

我们一般把 MP4、 FLV、MOV等文件格式称之为容器。也就是在这些常用格式文件中,可以存放多路音视频文件。以 MP4 为例,就可以存放一路视频流,多路音频流,多路字幕流。

channel

channel是音频中的概念,称之为声道。在一路音频流中,可以有单声道,双声道或立体声。

图例

基本信息查询命令
录制
分解/复用
处理原始数据
滤镜
切割与合并
图/视互转
直播相关

Reference

https://www.cnblogs.com/wainiwann/p/4128154.html
http://quanzhan.applemei.com/webStack/TkRBNE9RPT0%3D

猜你喜欢

转载自blog.csdn.net/qq_31622015/article/details/109048766