美文网首页
ffmpeg流媒体服务

ffmpeg流媒体服务

作者: 小米稀饭a | 来源:发表于2020-05-18 17:42 被阅读0次

小僧很想和同行的朋友沟通交流、并肩前行,志同道合的朋友看过来喽!

ffmpeg流媒体服务

image-20200405102545515.png

整个流媒体服务的原理如图,采集端将音频流、视频流推送到流媒体服务器,接收端拉取流媒体服务器的音频、视频流。流媒体服务器可以接受多个采集端的数据流上传,也可接受多个接收端的数据流拉取。

nginx流媒体服务器的搭建(windows)

  1. 下载nginx、nginx-rtmp-moudle(要放在nginx目录里)

  2. 配置文件nginx-win-rtmp.conf

  rtmp {
    server {
        listen 1935;
        chunk_size 4000;
        application live {
             live on;
        }
    }
}
    server里修改如下:
    server {
     listen       80;
     server_name  localhost;
    ​
    ​
     location /stat {
     rtmp_stat all;
     rtmp_stat_stylesheet stat.xsl;
     }
     location /stat.xsl {
     root nginx-rtmp-module-master/;
     }
     location /control {
     rtmp_control all;
     }

将此加入到配置文件nginx-win-rtmp.conf

  1. 启动nginx流媒体服务器

    命令行进入到nginx目录,输入如下命令从配置文件启动

nginx.exe -c conf\nginx-win-rtmp.conf
  1. 验证服务启动

    • 命令行输入命令检查端口是否被占用

    netstat -ano | findstr 0.0.0.0:80

    如果有端口号80的结果,说明80端口启用了
    
    image-20200405104953961.png
  • 关闭命令
nginx.exe -s stop 快速停止nginx
nginx.exe -s quit 完整有序停止nginx
taskkill /f /t /im nginx.exe  强制关掉nginx

采集端 ffmpeg推流

在开发板系统上安装ffmpeg,使用命令推流
ffmpeg -f video4linux2 -s 800*600 -i /dev/video0 -f alsa -ac 1 -ar 11025 -i hw:3,0 -ar 11025 -r 36 -f flv rtmp://{流媒体服务器ip地址}:1935/live/me

此时刷新流媒体服务器状态页会发现这个流的状态

image-20200407095745089.png

接收端拉流

http://www.ossrs.net/players/srs_player.html 一款基于浏览器的播放工具,在浏览器访问该地址,进入页面

image-20200405111935256.png

正确填写URL,端口号之前为流媒体服务器的ip,之后是要拉的流的路径,例如推流路径是/live/me,那么拉流路径也是/live/me。配置好之后点击播放视频,即可获得推送的音视频内容。

相关文章

网友评论

      本文标题:ffmpeg流媒体服务

      本文链接:https://www.haomeiwen.com/subject/celpohtx.html