Ubuntu14.04 流媒体服务器
2016-08-16 19:36
337 查看
要实现流媒体功能我们需要用到ffmpeg将视频进行分片成.ts格式,然后生成.m3u8文件,在播放视频时会更具.m3u8文件将.ts传回给客户端,这样客户端就不必要等待下载完成整个视频文件后才开始播放,可以在下载完一个.ts文件后就播放该ts文件内容。
首先我们需要安装SDL,用来对图片视频执行绘制之类的操作。
安装命令:
然后我们需要安装ffmpeg所依赖的包x264和yasm。
把下载的yasm源码放到用户目录下,执行
进行源码的编译安装
然后是x264的,执行
然后需要安装一些ffmpeg所需要的依赖软件
以及opencore-amr
编译安装命令:
最后安装编译ffmpeg
这样ffmpeg已经被安装到了系统中,可以去/usr/local/bin中查看,可以看到一个ffmpeg命令,当然如果现在执行ffmpeg会出现找不到libx264.so的错误,我们需要在/etc/ld.so.conf文件中添加/usr/local/lib/
然后执行ldconfig,使修改的配置生效。这样ffmpeg就可以正常使用了。
最后我们需要让视频变成可以播放的流媒体格式,首先先转成ts格式
然后再对outpyt.ts进行切片并且生成.m3u8文件
这样把生成的所有.ts和.m3u8拷贝到服务器的目录下面,
然后通过客户端访问:http://IP/output.m3u8
需要用到的软件源码云盘地址
http://pan.baidu.com/s/1hsa218o
首先我们需要安装SDL,用来对图片视频执行绘制之类的操作。
安装命令:
sudo apt-get install libsdl1.2-dev sudo apt-get install libsdl-image1.2-dev sudo apt-get install libsdl-mixer1.2-dev sudo apt-get install libsdl-ttf2.0-dev sudo apt-get install gfx1.2-dev
然后我们需要安装ffmpeg所依赖的包x264和yasm。
把下载的yasm源码放到用户目录下,执行
./configure make make install
进行源码的编译安装
然后是x264的,执行
./configure --includedir=/usr/local/include --libdir=/usr/local/lib --enable-shared make make install
然后需要安装一些ffmpeg所需要的依赖软件
sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libsdl1.2-dev libtheora-dev libx11-dev libxvidcore-dev zlib1g-dev
以及opencore-amr
编译安装命令:
./configure make make install
最后安装编译ffmpeg
./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopencore-amrnb --enable-version3 --disable-optimizations --disable-asm make make install
这样ffmpeg已经被安装到了系统中,可以去/usr/local/bin中查看,可以看到一个ffmpeg命令,当然如果现在执行ffmpeg会出现找不到libx264.so的错误,我们需要在/etc/ld.so.conf文件中添加/usr/local/lib/
然后执行ldconfig,使修改的配置生效。这样ffmpeg就可以正常使用了。
最后我们需要让视频变成可以播放的流媒体格式,首先先转成ts格式
ffmpeg -y -i <input.mp4> -vcodec copy -acodec copy -vbsf h264_mp4toannexb <output.ts>
然后再对outpyt.ts进行切片并且生成.m3u8文件
ffmpeg -i <output.ts> -c copy -map 0 -f segment -segment_list <output.m3u8> -segment_time 10 <output%03d.ts>
这样把生成的所有.ts和.m3u8拷贝到服务器的目录下面,
然后通过客户端访问:http://IP/output.m3u8
需要用到的软件源码云盘地址
http://pan.baidu.com/s/1hsa218o
相关文章推荐
- 关于Cocos2d-x中使用完Blink动作后精灵突然消失的问题的解决
- API与C#的数据类型对应关系表(JAVA)
- resin.conf配置详解
- Espresso学习笔记--google doc前四篇部分翻译和理解
- 简单?dp
- 数据结构实验之二叉树三:统计叶子数
- 巧用数组实现多个内容切换
- mipi协议中文详解
- OC-延展
- poj1836Alignment(dp)
- Parcelable
- HDU 2028 Lowest Common Multiple Plus
- 事务
- PE文件(一)
- zabbix全方位监控MySQL +cacti监控mysql
- 为什么你不应该用angularjs?
- TCP的流量控制
- 局部敏感哈希
- ObjectInputStream 如何循环读取所有的对象
- OpenCV+VS2015+Win10