ubuntu 14 x86_64 nginx rtmp ffmpeg 在线直播

1、虚拟机安装 Ubuntu 14 x86_64 desktop

2、安装vim,openssh-server(应该是自动开启端口)。

3、安装开发环境:点击打开链接,这篇文章的开始有。

4、安装ffmpeg(静态安装),这里是英文源网:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu,按照步骤来就好(在安装的时候建议全部用开源库安装,而不是apt-get,因为我自己是这么做的,没问题)。

安完之后是这样的:ubuntu 14 x86_64 nginx rtmp ffmpeg 在线直播_第1张图片


5、切换到这个路径下有一些自带的例程,可以用make来编译:

ubuntu 14 x86_64 nginx rtmp ffmpeg 在线直播_第2张图片


然后可能会提示如下错误:



在/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

然后source一下。

然后应该就能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:

location /hls {  
            types {  
                application/vnd.apple.mpegurl m3u8;  
                video/mp2t ts;  
            }  
            root /tmp;  
            add_header Cache-Control no-cache;  
}
ubuntu 14 x86_64 nginx rtmp ffmpeg 在线直播_第3张图片


然后重启一下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,执行应用:

ubuntu 14 x86_64 nginx rtmp ffmpeg 在线直播_第4张图片



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

这里待推流视频是1.mp4这个文件,转码成flv格式后推给指定的rtmp地址,其他的地方不用改,同样是能在主机tomcat服务器上获取rtmp视频流:

ubuntu 14 x86_64 nginx rtmp ffmpeg 在线直播_第5张图片

你可能感兴趣的:(RTMP)