1、虚拟机安装 Ubuntu 14 x86_64 desktop
2、安装vim,openssh-server(应该是自动开启端口)。
3、安装开发环境:点击打开链接,这篇文章的开始有。
4、安装ffmpeg(静态安装),这里是英文源网:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu,按照步骤来就好(在安装的时候建议全部用开源库安装,而不是apt-get,因为我自己是这么做的,没问题)。
5、切换到这个路径下有一些自带的例程,可以用make来编译:
然后可能会提示如下错误:
在/etc/profile中加入环境变量:
export C_INCLUDE_PATH=/root/ffmpeg_build/include export LD_LIBRARY_PATH=/root/ffmpeg_huild/lib export LIBRARY_PATH=/root/ffmpeg_huild/lib export PKG_CONFIG_PATH=/root/ffmpeg_build/lib/pkgconfig:$PKG_CONFIG_PATH export PATH=$PATH:/root/bin
然后应该就能make了。
然后就有一些可执行文件了:
当然直接使用ffmpeg的shell命令也是可以的。
6、安装 nginx 服务器,配置rtmp模块:
英文源网:点击打开链接,安装到这一步就行了,因为我们已经安装好了ffmpeg
成功启动的话是这样的:
7、先用推流rtmp工具 FMLE来进行推流测试:
这里为了测试,我们先修改一下 /usr/local/nginx/conf/nginx.conf
在末尾追加:
rtmp { server { listen 1935; application myapp { live on; } application hls { live on; hls on; hls_path /tmp/hls; } } }
location /hls { types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } root /tmp; add_header Cache-Control no-cache; }
然后重启一下nginx:
8、这里我们下载一个推流工具 FLME:点击打开链接
安装完之后,可以读到摄像头的内容:
然后在 FMS URL:填写要推流的应用地址,这里我的是:rtmp://192.168.241.151:1935/myapp,这个myapp就是之前在 nginx.conf配置文件中配置的应用名,然后在 Stream写上 test1也就是推流的应用的地址。然后点击start也就是开始推流。当然你可以先测试一下连接,就是Connect这个选项
这样就开始往 nginx 服务器上推流了。
9、这时我们可以用web应用来接收rtmp流数据,这里是项目代码:点击打开链接
解压之后直接放到 主机tomcat 的webapps下就行了,启动tomcat,执行应用:
10、上面是使用FMLE推流软件直接推送读取的摄像头视频,现在我们使用ffmpeg进行转码推流:
ffmpeg -re -i "/opt/1.mp4" -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://localhost:1935/myapp/test1