FFmpeg是一种流行的开源解决方案,用于录制,转换和流式传输音频和视频,广泛用于各种在线流媒体服务。目前国内外视频服务普遍采用在FFmpeg进行二次开发的方案。
在本文中,我将向您展示如何在CentOS 6/7服务器上安装FFmpeg。以及简单的使用操作
先决条件
新部署的Vultr CentOS 6或CentOS 7服务器实例。
一个sudo用户。
第1步:更新系统sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
第2步:安装Nux Dextop YUM仓库
目前还没有针对CentOS的官方FFmpeg rpm软件包。相反,您可以使用第三方YUM回购Nux Dextop来完成工作。
在CentOS 7上,您可以使用以下命令安装Nux Dextop YUM存储库:
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–5.el7.nux.noarch.rpm
对于CentOS 6,您需要安装另一个版本:
sudo rpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0–2.el6.nux.noarch.rpm
第3步:安装FFmpeg和FFmpeg开发包
sudo yum install ffmpeg ffmpeg-devel -y
第4步:测试
1)确认FFmpeg的安装:
ffmpeg
此命令提供有关系统上安装的FFmpeg的详细信息。在撰写本文时,使用Nux dextop安装的FFmpeg版本为2.6.8。
如果您想了解有关FFmpeg的更多信息,请输入:
ffmpeg -h
2)将mp3音频文件转换为ogg音频文件。
使用FFmpeg时需要确定适当的参数。例如,您可以使用以下命令将mp3文件转换为ogg文件:
wget https://archive.org/download/MLKDream/MLKDream_64kb.mp3
ffmpeg -i MLKDream_64kb.mp3 -c:a libvorbis -q:a 4 MLKDream_64kb.ogg
3)将flv视频文件转换为mp4视频文件。
以下是从flv到mp4的无损转换示例:
wget https://archive.org/download/beeenieilp/beeen.flv
ffmpeg -i beeen.flv -y -vcodec copy -acodec copy beeen.mp4
4)将MP4视频文件转换为m3u8转换示例。
ffmpeg-i 斗罗大陆合集篇EP01.mp4-codeccopy-vbsfh264_mp4toannexb-map 0 -fsegment-segment_listindex.m3u8-segment_time 10 out%03d.ts
4)将mkv视频文件转换为mp4转换示例。
ffmpeg-i 复仇者联盟3无限战争.mkv-y-c:vlibx264-strict-2 复仇者联盟3.mp4
测试mp4切片:
首先下载一个mp4文件到我们服务器的root目录,然后SSH输入
ffmpeg -i 你的视频文件名.mp4 -codec copy -vbsf h264_mp4toannexb -map 0 -f segment -segment_list index.m3u8 -segment_time 10 out%03d.ts
它会自动进行转换操作,完成后在/root目录会生成三个文件index.m3u8、out000.ts、out001.ts、out002.ts
其中index.m3u8就是我们需要调用的视频媒体列表文件。将这三个文件移动到我们的网站目录下
我们可以在本机使用potplayer打开index.m3u8的地址:
比如我的地址是http://ql.cdsy.xyz/index.m3u8(临时地址,随时删除)
如果你的服务器网络没有问题的话,直接就打开播放了。