美文网首页
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