在Linux中使用FFmpeg修剪视频
FFmpeg是一个强大的Linux命令行多媒体编辑器。它允许您录制和处理视频,创建截屏,甚至编辑和编码高比特率视频文件。在这里,我们向您展示如何使用FFmpeg对视频文件进行快速修剪和基本剪切。值得一提的是,不少音视频软件实际上内部也是调用了FFmpeg库。
删除视频的开头和结尾
FFmpeg最强大的功能之一是能够快速删除视频文件中的片段。这使您可以从视频中删除任何不必要的部分,甚至可以使用shell脚本实现自动化。
开始修剪之前,请确认保存一份原始视频的备份,因为FFmpeg不提供撤销功能。
要删除5分钟视频文件的开头30秒视频,可以运行以下命令:
ffmpeg -ss 00:00:30 -to 00:05:00 -i my-video.mp4 -c copy my-video-trim.mp4
也可以将此语法转换为在视频文件的结尾进行修剪,运行以下内容将删除视频的最后30秒:
ffmpeg -ss 00:00:00 -to 00:04:30 -i my-video.mp4 -c copy my-video-trim.mp4
该语法还支持视频两端的修剪。例如,删除视频的前30秒和后30秒:
ffmpeg -ss 00:00:30 -to 00:04:30 -i my-video.mp4 -c copy my-video-trim.mp4
在视频文件中剪切一小段
例如想为原始视频中2:30到4:00和7:45到8:30的内容创建一个视频文件。
首先将时间戳从分钟转换为秒:
echo "00:02:30" | awk -F: '{ print ($1 * 3600) + ($2 * 60) + $3 }'
然后执行以下命令:
ffmpeg -i my-video.mp4 \ -vf "select='between(t,FIRST-START-VALUE,FIRST-END-VALUE)+between(t,SECOND-START-VALUE,SECOND-END-VALUE)', setpts=N/FRAME_RATE/TB" \ -af "aselect='between(t,FIRST-START-VALUE,FIRST-END-VALUE)+between(t,SECOND-START-VALUE,SECOND-END-VALUE)', asetpts=N/SR/TB" \ my-video-cut.mp4
用第一次切割的值替换-vf和-af标志的FIRST-START-VALUE和FIRST-END-VALUE。在我的视频中,我的第一次剪辑从150秒开始,到240秒结束。
用第二次切割的值替换SECOND-START-VALUE和SECOND-END-VALUE,然后按回车键运行命令。
注意:您可以通过复制-vf和-af标志上的+between()函数以及新切割时间的逗号分隔列表来添加其他切割。
FFmpeg还可以将整个视频拆分为多个片段。
将以下代码行复制到您的终端中:
ffmpeg -i my-video.mp4 -c copy -map 0 -segment_time 00:10:00 -f segment -reset_timestamps 1 my-video-%03d.mp4
用目标剪辑长度替换segment_time的值。例如,您可以将此值设定为“00:05:00”以将您的长视频分成5分钟的片段。
相关文章
- Python虚拟环境整合包制作:一键打包与运行指南
- aws云服务器使用root登录
- nginx配置允许跨域
- nginx配置springboot反向代理,同时允许上传路径可以直接被访问
- CentOS8更换国内安装源
- 在Linux中使用FFmpeg修剪视频
- uniapp项目(app,小程序)html内容图片尺寸超出屏幕修复
- uniapp启用微信小程序按需注入
- mysql 批量替换指定字符
- 使用stable diffution生成艺术二维码
- JQuery 删除节点下子元素中的最后一个元素
- Windows 11启动菜单的隐藏更改
- 出自清华的强大中文AI模型ChatGLM2-6B
- php根据ip判断所属国家(使用Geo库)
- 使用acme.sh自动化部署ssl证书
- C#压缩pdf文件的代码示例
- 功能强大的免费AI绘画工具:Stable Diffusion
- ChatGPT的中文平替:ChatGLM-6B
- 科普:为什么人工智能需要GPU而不是CPU?
- iis10安装URLRwrite组件