DASH.js使用demo(配合ffmpeg和mp4box)

参考:

https://github.com/sanlengjingvv/mpeg-dash-sample

ubuntu安装ffmpeg,三行命令

Ubuntu下GPAC(MP4Box)的安装 | 基于MP4Box搭建DASH视频系统

在 ubuntu 上安装最新的 node

-------------------------------------------------------------------------------------------------------

环境 ubuntu 18.04

一、首先按照以上链接安装ffmpeg、MP4Box、node和npm

ffmpeg:一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。此处用其得到不同质量的视频和分离音频

MP4Box:用 mp4box 得到 MPEG-Dash 需要的音视频和 .mpd 文件。

二、使用ffmpeg、MP4Box

视频链接:https://github.com/sanlengjingvv/mpeg-dash-sample/blob/master/input.mp4

# 用 ffmpeg 转码得到不同质量的视频
ffmpeg -i input.mp4 -s 160x90 -c:v libx264 -b:v 250k -g 90 -an input_video_160x90_250k.mp4
ffmpeg -i input.mp4 -s 320x180 -c:v libx264 -b:v 500k -g 90 -an input_video_320x180_500k.mp4
ffmpeg -i input.mp4 -s 640x360 -c:v libx264 -b:v 750k -g 90 -an input_video_640x360_750k.mp4
ffmpeg -i input.mp4 -s 640x360 -c:v libx264 -b:v 1000k -g 90 -an input_video_640x360_1000k.mp4
ffmpeg -i input.mp4 -s 1280x720 -c:v libx264 -b:v 1500k -g 90 -an input_video_1280x720_1500k.mp4
# 用 ffmpeg 得到音频
ffmpeg -i input.mp4 -c:a aac -b:a 128k -vn input_audio_128k.mp4
# 用 mp4box 得到 MPEG-Dash 需要的音视频和 .mpd 文件
MP4Box -dash 5000 -rap -frag-rap -profile dashavc264:onDemand -frag 5000 input_audio_128k.mp4 input_video_160x90_250k.mp4 input_video_320x180_500k.mp4 input_video_640x360_750k.mp4 input_video_640x360_1000k.mp4 input_video_1280x720_1500k.mp4 -out main.mpd

         运行之后的界面如下,包含原视频,音频,切片和mpd文件

三、使用npm安装http-server

npm install http-server -g
npm install grunt-cli -g

    打开http-server服务器

# --cors 代表接受任意域名的跨域资源共享,-c-1 代表不启用缓存
http-server -a 127.0.0.1 -p 9999 --cors -c-1

    打开浏览器,输入http://127.0.0.1:9999/,显示如下

                                                       DASH.js使用demo(配合ffmpeg和mp4box)_第1张图片

四,下载dash.js,并启动

找另一个目录dash.js文件夹中下载构建 dash.js,一个开源的支持 MPEG-Dash 协议的播放器
git clone https://github.com/Dash-Industry-Forum/dash.js.git
cd dash.js
npm install  //下载需要的模块
grunt dev   //启动

之后出现如下界面,点击“DASH IF Reference player

              DASH.js使用demo(配合ffmpeg和mp4box)_第2张图片

           DASH.js使用demo(配合ffmpeg和mp4box)_第3张图片

五、打开切片的视频。

        右击http-server页面的mpd文件,选择复制链接,然后复制到上图播放器界面上面的链接处,点击load加载视频。如图所示,视频右下角可以选取视频画质。

DASH.js使用demo(配合ffmpeg和mp4box)_第4张图片

        下面也会显示缓存,延迟,码率等信息

DASH.js使用demo(配合ffmpeg和mp4box)_第5张图片

 

 

 

你可能感兴趣的:(云计算——一路学习,一路总结,ffmpeg,MP4Box,Dash.js)