ffmpeg音频视频转换命令笔记

发布于 2024-01-20  313 次阅读


Please refresh the page if equations are not rendered correctly.
---------------------------------------------------------------

mp4转mp3

 .\ffmpeg -i .\A2_1.mp4 .\A2_1.mp3

然后搜狗语音识别转为text:https://rec.sogou.com/。

音视频质量

MP4转avi

 .\ffmpeg -i .\A2_1.mp4 -q 23 .\A2_1.mp3

一般-q跟的数字越小视频质量越高,但是一般选用20 - 30之间的数字。

avi转MP4

.\ffmpeg -i inFile.avi -crf 18 outFile.mp4

或者:

.\ffmpeg -i inFile.avi -b:v 1000k outFile.mp4

或者同时指定音频和视频的比特率:

.\ffmpeg -i inFile.avi -b:v 1000k -b:a 128k outFile.mp4

音频质量

.\ffmpeg -i inFile.mp3 -b:a 320k outFile.mp3

其他功能

提高音量

.\ffmpeg -i inFile.wav -filter:a "volume=2" outFile.mp3

volume指定的数值为转换后的音量与原视频的比例。

视频裁剪

.\ffmpeg -i .\inFile -filter:v "crop=w=640:h=480:x=100:y=290" outFile

其中x,y为视频的左上角位置(Top left corner)。w, h为裁剪后的宽和高。如果x, y值没有指定,则居中裁剪(If unspecified, cropping is centered in frame)。

裁剪视频长度

从视频开始到第39分钟的长度

ffmpeg -i test.mp4 -vcodec copy -acodec copy -ss 00:00:00 -to 00:39:00 test_cut.mp4 -y

视频缩放

.\ffmpeg —i .\inFile -filter:v "scale=w=640:h=480" outFile

按比例缩放

.\ffmpeg -i inFile -filter:v "scale=w=2/3*in_w:h=2/3*in_h" outFile

保持长宽比缩放:

.\ffmpeg -i inFile -filter:v "scale=w=852:h=—1" outFile

视频旋转

.\ffmpeg -i inFile -filter:v "rotate=45*PI/180" outFile

参数应为弧度。

提取图片1

ffmpeg -i input.mp4 -r 1 -q:v 2 -f image2 pic-%03d.jpeg 
-r 表示每一秒几帧 
-q:v表示存储jpeg的图像质量,一般2是高质量。 

可以设置开始的时间,和你想要截取的时间。 
ffmpeg -i input.mp4 -ss 00:00:20 -t 10 -r 1 -q:v 2 -f image2 pic-%03d.jpeg 
-ss 表示开始时间 
-t 表示共要多少时间。 

#整个视频完整截取每一帧
ffmpeg -i video.mp4 /media/index_%d.png
# 从第几秒开始 逐帧截图10张图片
ffmpeg  -i input.mp4  -ss 10.500 -vframes 10 output%d.png

# hdr视频,第30秒,经过tonemapping转换成SDR图片,存储一张
ffmpeg -ss 00:00:30.000 -i hdr.mp4 -vf zscale=transfer=linear,tonemap=hable,zscale=transfer=bt709,format=yuv420p -vframes 1 out30.png
Everything not saved will be lost.
最后更新于 2024-01-20