ffmpeg常用命令 📅 2026/7/5 21:29:30 对视频指定区域截图ffmpeg-iFILE0174.avi-vfcrop140:30:43:663-r1-q:v2-vframes1-fimage2 image-%d.jpeg-vf crop140:30:43:663表示从x43,y663处开始截取x140,y30的图片-vframes表示总共要截多少张-f image2表示输出图片的格式比如Image2q: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-vfselecteq(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%11.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 loudnormi-14:tp0.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-movflagsfaststart MOVA6868.mp4参数作用说明-c:v libx265视频编码器使用H.265HEVC编码压缩效率比H.264高约50%适合高清视频。-preset medium编码速度与压缩率平衡预设值从ultrafast最快到placebo最慢medium是清晰度和速度的折中。-crf 23质量控制范围0-51值越小质量越高文件越大23是默认值兼顾清晰度和体积。-c:a aac -b:a 128k音频编码使用AAC编码比特率128kbps适合行车记录仪的语音质量需求。-movflags faststart优化播放将MP4的元数据移到文件头部便于在线播放非必需但推荐。