ffmpeg常用命令
2026/7/5 21:29:20 网站建设 项目流程

对视频指定区域截图

ffmpeg-iFILE0174.avi-vfcrop=140:30:43:663-r1-q:v2-vframes1-fimage2 image-%d.jpeg

-vf crop=140:30:43:663表示从x=43,y=663处开始截取x=140,y=30的图片
-vframes表示总共要截多少张
-f image2表示输出图片的格式,比如Image2
q:v 2图片质量
image-%d.jpeg生成图像的文件名,可以加上完整路径,%d会使文件名按整数编号,如上述生成图像为image-1.jpeg, image-2.jpeg, …
-t持续时间,如-t 4表示持续4s
-ss起始时间,如-ss 01:30:14,从01:30:14开始
-s格式大小,如-s 640x360
-y覆盖,直接使用
-r每秒提取的帧数,如上面为每秒1帧,即一张图像

截取关键帧

有一些视频是PPT的图片,可以尝试使用该方式截图

ffmpeg-iplaylist.m3u8-vf"select='eq(pict_type,I)'"-vsyncvfr-q:v2keyframe_%03d.jpg

截取视频

ffmpeg-ss00:00:00-t01:07:53-im1.mp4-ccopy m2.mp4

-c copy-c:v copy-c:a copy的合体,指视频和音频都不要重新编码,因为默认是重新编码的
注意:如果指定了-ss参数后,开头视频有问题,则可以深度删除该参数,即只保留-t参数,分割后看实际效果的。

合并视频

首先在需要合并的视频s所在的文件夹下执行如下命令

for%1in(./*.mp4 ./*.mkv ./*.avi)doechofile%1>>1.txt

自动生成1.txt文件,内容如下

fileMOVA0046.avifileMOVA0047.avifileMOVA0048.avifileMOVA0049.avifileMOVA0050.avifileMOVA0051.avifileMOVA0052.avifileMOVA0053.avifileMOVA0054.avi

然后使用如下命令对文件进行不转码的合并

ffmpeg-fconcat-i1.txt-ccopy m1.avi

分离音视频流

// 只提取视频 ffmpeg-iMOVA00001.AVI-c:vcopy-anm1.mp4 // 只提取音频 ffmpeg-iMOVA00001.AVI-c:acopy-vnm2.mp4

合并音视频流

ffmpeg-i01.mp4-i01.wav-c:vcopy merge.mp4

音量标准化调整

参考文章
ffmpeg -i 01.mp4 -filter:a "loudnorm=i=-14:tp=0.0" 02.mp4
也可以自己使用上面提到的分离和合并的方法把音频分离出来后,使用如gold wave之类的软件进行编辑,然后再合并回去

下载带key的m3u8

参考文章
需要先手动把m3u8和对应的key文件下载下来,然后将m3u8文件中key的uri改为本地的key文件的路径,然后再执行下面的命令
ffmpeg -allowed_extensions ALL -protocol_whitelist "file,tls,http,https,crypto,tcp" -i index.m3u8 -c copy out.mp4

实际下载时,可能会发现手动下载下来的.m3u8文件中的所有url地址都是相对路径,如下示例

#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.000000, hls-720p-56aca0.ts #EXTINF:10.000000, hls-720p-56aca1.ts #EXT-X-ENDLIST

遇到这种情况,需要将下载该.m3u8文件的父路径,比如下载这个文件的完整路径是https://www.baidu.com/video/2024/index.m3u8,那么就将index.m3u8前面的部分(https://www.baidu.com/video/2024/)添加到m3u8文件中分片文件名称的前面,如下所示

#EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:10 #EXT-X-MEDIA-SEQUENCE:0 #EXTINF:10.000000, https://www.baidu.com/video/2024/hls-720p-56aca0.ts #EXTINF:10.000000, https://www.baidu.com/video/2024/hls-720p-56aca1.ts #EXT-X-ENDLIST

使用记录:

ffmpeg-allowed_extensionsALL-iMOVA6868.avi-presetmedium-crf0-c:vh264_nvenc-c:aaac-b:a128k-movflags+faststart MOVA6868.mp4
参数作用说明
-c:v libx265视频编码器使用H.265(HEVC)编码,压缩效率比H.264高约50%,适合高清视频。
-preset medium编码速度与压缩率平衡预设值从ultrafast(最快)到placebo(最慢),medium是清晰度和速度的折中。
-crf 23质量控制范围0-51,值越小质量越高(文件越大),23是默认值,兼顾清晰度和体积。
-c:a aac -b:a 128k音频编码使用AAC编码,比特率128kbps,适合行车记录仪的语音质量需求。
-movflags +faststart优化播放将MP4的元数据移到文件头部,便于在线播放(非必需,但推荐)。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询