时间:2018年08月18日 | 作者 : liuhui | 分类 : Linux | 浏览: 10130次 | 评论 0 人
阿里云限量代金券 | 此广告位出租25元/月 |
linux下的ffmpeg命令可以用来转换视频格式,裁剪视频,视频流推送等
ffmpeg一键安装脚本的使用:
vi ffmpeg.sh
复制上面命令新建一个空白脚本文件
将下面脚本内容复制进去
#!/bin/sh sudo yum -y install epel-release sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm yum repolist sudo yum -y install ffmpeg ffmpeg-devel ffmpeg -version
执行脚本
sh ./ffmpeg.sh
等脚本执行完成后ffmpeg命令就安装完毕了
FFmpeg常用命令及参数
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。
https://github.com/FFmpeg/FFmpeg
http://ffmpeg.org/
FFmpeg命令大概形式如下
ffmpeg -i input.mp4 output.avi
上面的命令为格式转换(将mp4格式转为avi)
-i filename 输入文件
更多常用参数后面罗列,下面记录一下常用的一些命令:
// 去掉视频中的音频
ffmpeg -i in.mp4 -vcodec copy -an v.mp4
// -an: 去掉音频;-vcodec:视频选项,一般后面加copy表示拷贝
// 提取视频中的音频
ffmpeg -i in.mp4 -acodec copy -vn a.m4a
// -vn: 去掉视频;-acodec: 音频选项, 一般后面加copy表示拷贝
如果是多声道就要提取某个音轨上的声音
ffmpeg -i 原始素材.mp4
找到含有Audio字样的段落,其中#0.2 #0.3 #0.4 …..#0.7是音轨位置信息
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
要提取Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)这个音轨
ffmpeg -i 原始素材.mp4 -map 0:2 a.2.m4a
PS:0:3表示选择这个音轨提取
// 合并音视频
ffmpeg -y –i input.mp4 –i input.mp3 –vcodec copy –acodec copy output.mp4
// -y 覆盖输出文件
截取音视频
//剪切音频
ffmpeg -i in.mp3 -ss 00:01:00 -to 00:01:10 -vcodec copy -acodec copy out.mp3
//剪切视频
ffmpeg -i in.mp4 -ss 00:01:00 -to 00:01:10 -vcodec copy -acodec copy out.mp4
// -ss 开始时间; -to 结束时间
设置结束时间位移也可以使用下面的方式
ffmpeg -i in.mp3 -ss 00:01:00 -t 10 -vcodec copy -acodec copy out.mp3
//-t 设置截取时长,还有-sseof 选项 是以媒体末尾作为起点,可以配合-t截取末尾多少秒
//视频拼接
先在一个txt文本中把要拼接的文件列出来,里面的视频路径最好是绝对路径
file 'd:\live\1.mp4' file 'd:\live\2.mp4'
这条命令只要是相同格式的视频均可以拼接
ffmpeg -f concat -safe 0 -i files.txt -c copy output.mp4
-safe 命令是让ffmpeg无视安全问题报错
// 视频截图
ffmpeg -i in.mp4 -ss 00:00:08 -vframes 1 img.jpg
// -vframe 指定截取的帧
//视频加水印
ffmpeg -i in.mp4 -i logo.png -filter_complex "overlay=20:20" out.mp4
-filter_complex 添加滤镜 overlay20:20 指的是,离左边20像素,离上边20像素
//将视频转为gif动图
ffmpeg -i in.mp4 -ss 4.5 -to 8.5 -s 640*320 -r 15 out.gif
// 旋转视频
ffmpeg -i input.mp4 -vf rotate=PI/2 output.mp4
-PI/2 顺时针旋转90°
-PI/1 旋转180°
推荐您阅读更多有关于“”的文章
Powered By Z-Blogphp
分享:
支付宝
微信