<开发笔记>搭建LAMP服务器及使用FFMPEG进行切片、生成m3u8文件
2015-03-12 10:28
357 查看
/************************************
允许转载,请注明文章来源和作者
Zhang Jianwei
BIT
921003zjw@163.com
************************************/
一、搭建LAMP
在搭建LAMP时,主要参考了这一篇文章:http://wiki.ubuntu.org.cn/Apache,基本上按照上面的做法就可以了。不过在安装phpmyadmin时,要按照第一种方法来做,第二种虽然是推荐方法,但是依此方法不能够成功安装。
二、安装FFMPEG(网上教程较多,不做记述,一般可以apt-get安装)
update:关于ffmpeg的安装经常会出现问题,在ubuntu下安装编译ffmpeg最好沿用此网页中的方法:
http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
三、切片和生成m3u8文件
这一部分主要参考了文章:http://www.cnblogs.com/mystory/archive/2013/04/07/3006200.html
1、安装支持库
apt-get install libavformat-dev
2、获得m3u8-segmenter
https://github.com/johnf/m3u8-segmenter
3、编译安装m3u8-segmenter
aclocal
automake -ac
./configure
make
sudo make install
4、编译文件m3u8-segmenter
在这个教程中,使用的命令是:
gcc
-Wall -g m3u8-segmenter.c -o segmenter -lavformat
会报错,报错如下:
/usr/bin/ld: /tmp/ccxVPFGB.o: undefined reference to symbol 'avcodec_open2@@LIBAVCODEC_53'
/usr/bin/ld: note: 'avcodec_open2@@LIBAVCODEC_53' is defined in DSO /usr/lib/i386-linux-gnu/libavcodec.so.53
so try adding it to the linker command line
/usr/lib/i386-linux-gnu/libavcodec.so.53: could not read symbols: 无效的操作
可以发现是缺少链接库所致,按照如下命令即可成功编译:
gcc -Wall -g m3u8-segmenter.c -o segmenter -lavformat -lavcodec -lavutil
5、转换文件格式(to .ts)
ffmpeg
-y -i <in file> -vcodec copy -acodec copy -vbsf h264_mp4toannexb <output file>
6、对ts文件切片并生成m3u8文件
原文命令格式有误,采用如下格式命令:
./segmenter
-i <input file> -d <length in seconds> -p <output direction/prefix> -m <m3u8 filename> -u <url>
最后一个url参数可以是网址,也可以是本机路径(如下),网址调试目前未成功,需继续调试。
./segmenter
-i test.ts -d 10 -p segtest/segtest_ -m test.m3u8 -u /home/vigor/source/
Update: Put
the out-file direction in '/var/www/html', and order is
./segmenter -i test.ts -d 10 -p segtest/segtest_ -m test.m3u8 -u http://localhost/
7、使用VLC播放m3u8文件即可。
允许转载,请注明文章来源和作者
Zhang Jianwei
BIT
921003zjw@163.com
************************************/
一、搭建LAMP
在搭建LAMP时,主要参考了这一篇文章:http://wiki.ubuntu.org.cn/Apache,基本上按照上面的做法就可以了。不过在安装phpmyadmin时,要按照第一种方法来做,第二种虽然是推荐方法,但是依此方法不能够成功安装。
二、安装FFMPEG(网上教程较多,不做记述,一般可以apt-get安装)
update:关于ffmpeg的安装经常会出现问题,在ubuntu下安装编译ffmpeg最好沿用此网页中的方法:
http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
三、切片和生成m3u8文件
这一部分主要参考了文章:http://www.cnblogs.com/mystory/archive/2013/04/07/3006200.html
1、安装支持库
apt-get install libavformat-dev
2、获得m3u8-segmenter
https://github.com/johnf/m3u8-segmenter
3、编译安装m3u8-segmenter
aclocal
automake -ac
./configure
make
sudo make install
4、编译文件m3u8-segmenter
在这个教程中,使用的命令是:
gcc
-Wall -g m3u8-segmenter.c -o segmenter -lavformat
会报错,报错如下:
/usr/bin/ld: /tmp/ccxVPFGB.o: undefined reference to symbol 'avcodec_open2@@LIBAVCODEC_53'
/usr/bin/ld: note: 'avcodec_open2@@LIBAVCODEC_53' is defined in DSO /usr/lib/i386-linux-gnu/libavcodec.so.53
so try adding it to the linker command line
/usr/lib/i386-linux-gnu/libavcodec.so.53: could not read symbols: 无效的操作
可以发现是缺少链接库所致,按照如下命令即可成功编译:
gcc -Wall -g m3u8-segmenter.c -o segmenter -lavformat -lavcodec -lavutil
5、转换文件格式(to .ts)
ffmpeg
-y -i <in file> -vcodec copy -acodec copy -vbsf h264_mp4toannexb <output file>
6、对ts文件切片并生成m3u8文件
原文命令格式有误,采用如下格式命令:
./segmenter
-i <input file> -d <length in seconds> -p <output direction/prefix> -m <m3u8 filename> -u <url>
最后一个url参数可以是网址,也可以是本机路径(如下),网址调试目前未成功,需继续调试。
./segmenter
-i test.ts -d 10 -p segtest/segtest_ -m test.m3u8 -u /home/vigor/source/
Update: Put
the out-file direction in '/var/www/html', and order is
./segmenter -i test.ts -d 10 -p segtest/segtest_ -m test.m3u8 -u http://localhost/
7、使用VLC播放m3u8文件即可。
相关文章推荐
- <2012 12 03> 使用JTAG接口进行裸板开发
- <Linux> Ubuntu搭建android driver开发服务器
- <开发笔记>HLS协议下多源同时切片
- 使用C#和Excel进行报表开发(三)-生成统计图(Chart)
- [How To]如何使用Wildfish进行ISeries开发---代码生成篇
- 使用C#和Excel进行报表开发(三)-生成统计图(Chart)
- 使用FFMPEG SDK进行开发
- 如何搭建Android的开发环境->在unbuntu 10.04 上使用ubuntu的一些技巧(四)
- 微软企业库4.1学习笔记(十四)缓存模块2 使用缓存模块进行开发
- 微软企业库4.1学习笔记(十四)缓存模块2 使用缓存模块进行开发
- OK6410 Linux开发环境搭建--编译以及ubuntu的使用方法学习笔记
- 使用C#和Excel进行报表开发-生成统计图Chart
- 如何搭建Android的开发环境->在unbuntu 10.04 上使用ubuntu的一些技巧(四)
- 使用C#和Excel进行报表开发(三)-生成统计图(Chart)
- 使用eclipse进行android C/C++ 开发环境搭建
- 使用C#和Excel进行报表开发(三)-生成统计图(Chart)
- 使用C#和Excel进行报表开发(三)-生成统计图(Chart)
- <meta http-equiv="X-UA-Compatible" content="IE=7" />的意思:将IE8使用IE7进行渲染,使网站在IE8上显示正常
- 【Windows Mobile开发系列 之 开始二】使用VS2008进行Windows Mobile开发环境的搭建
- 微软企业库4.1学习笔记(十四)缓存模块2 使用缓存模块进行开发