打开终端进行操作
# 安装 ffmpeg ,用于转码
yum install ffmpeg
# 验证是否安装成功
ffmpeg
# 安装 gpac ,用到里面包含的 mp4box
yum install gpac
# 验证是否安装成功
MP4Box
注意CentOS下MP4Box要大写,否则无法识别该命令
——————————————————————————————————————————————————————————————————————————————————————————————————————————
# 用 ffmpeg 转码得到不同质量的视频
ffmpeg -i view.mp4 -s 160x90 -c:v libx264 -b:v 250k -g 90 -an view_video_160x90_250k.mp4
ffmpeg -i view.mp4 -s 320x180 -c:v libx264 -b:v 500k -g 90 -an view_video_320x180_500k.mp4
ffmpeg -i view.mp4 -s 640x360 -c:v libx264 -b:v 750k -g 90 -an view_video_640x360_750k.mp4
ffmpeg -i view.mp4 -s 640x360 -c:v libx264 -b:v 1000k -g 90 -an view_video_640x360_1000k.mp4
ffmpeg -i view.mp4 -s 1280x720 -c:v libx264 -b:v 1500k -g 90 -an view_video_1280x720_1500k.mp4
view.mp4是视频的全名。
需要注意的是,直接从windows中拖进CentOS7虚拟机中,会导致H.264流出错,无法识别,也无法播放。因此我用U盘拷进虚拟机的。插入U盘后,会弹出窗口,让选择U盘是走windows系统还是虚拟机,此处选择虚拟机即可。之后在CentOS桌面上,会出现U盘图标,将视频文件拷贝到桌面即可。
并且,执行上述命令,需要进入视频文件保存的位置,否则系统无法找到视频文件路径。我的在桌面,因此使用cd /home/XXXX(你创建时的系统用户名)/Desktop 进入桌面,再执行上述代码。
————————————————————————————————————————————————————————
# 用 ffmpeg 得到音频
ffmpeg -i view.mp4 -c:a aac -b:a 128k -vn view_audio_128k.mp4
# 用 mp4box 得到 MPEG-Dash 需要的音视频和 .mpd 文件
mp4box -dash 5000 -rap -profile dashavc264:onDemand -mpd-title BBB -out manifest.mpd -frag 2000 view_audio_128k.mp4 view_video_160x90_250k.mp4 view_video_320x180_500k.mp4 view_video_640x360_750k.mp4 view_video_640x360_1000k.mp4 view_video_1280x720_1500k.mp4
同样的,上述代码也是需要在view.mp4相应文件夹下运行
————————————————————————————————————————————————————————
# 用 http-server 作为音视频和 .mpd 文件的服务器
#curl --silent --location https://rpm.nodesource.com/setup_7.x | bash - // 先不执行该代码,若下一条命令不能顺利执行,则执行该命令。注://后的是备注,不执行
yum install node
# 验证是否安装成功
node -v
npm install http-server -g
# --cors 代表接受任意域名的跨域资源共享,-c-1 代表不启用缓存
http-server -a 127.0.0.1 -p 9999 --cors -c-1 // 需在存放view.mp4路径下执行
上述命令执行完后,服务器就开启了,可通过浏览器访问127.0.0.1:9999访问。之后再开一个终端,执行下面的命令。
————————————————————————————————————————————————————————
# 找另一个目录下载构建 dash.js,一个开源的支持 MPEG-Dash 协议的播放器
npm install -g grunt-cli
git clone https://github.com/Dash-Industry-Forum/dash.js.git
备注: 虚拟机下因为未挂代理,下载速度慢,最后导致无法下载。网上修改/etc/hosts的方法我都试过了,不好用。
因此推荐使用Windows直接打开该链接进入网页,下载项目的zip文件,再用U盘拷贝到虚拟机下。然后安装zip:yum -y install zip,再进入刚刚的zip相应路径下,使用unzip dash.js-development.zip即可解压。
解压进入dash.js-development,再执行下面的命令
————————————————————————————————————————————————————————
cd dash.js
若使用下载zip并解压的方式,则命令为:cd dash.js-development
————————————————————————————————————————————————————————
npm install
该过程很慢很慢,耐心等待即可。若执行过程中卡死,按ctrl+c退出,再继续执行即可。
————————————————————————————————————————————————————————
grunt dev
该命令执行完成后,访问终端里给的链接,进入dash.js网页后,点击 DASH IF Reference player。在上面URL栏,将manifest.mpd的路径(右键-复制链接地址)复制进来,点击右边load即可。