通过FFmpeg命令进行RTMP推流

@Daniate  November 17, 2018

流程

本文首发于Daniate的个人网站,文章链接:https://daniate.com/archives/318/

  1. 启动SRS服务器
  2. 使用FFmpeg推流
  3. 使用VLC拉流播放

启动SRS

  1. 切换到srstrunk目录
  2. 执行./scripts/run.sh
  3. 根据提示,修改/etc/hosts文件

或者,

  1. 切换到srstrunk目录
  2. 执行./objs/srs -c ./conf/rtmp.conf

推流脚本(示例)

for((;;)); do \
    ffmpeg -re -i input.mp4 -c copy -f flv -y rtmp://172.16.146.11:1935/live/apple; \
    sleep 1; \
done

后台执行推流脚本

nohup bash push_rtmp.sh &>/dev/null &

此处使用bash push_rtmp.sh而不是./push_rtmp.sh的原因是:默认的shell可能不是bash

HTTP FLV

当使用./objs/srs -c ./conf/http.flv.live.conf启动时,可以使用浏览器打开直播流。

推流:

ffmpeg -re -i input.mp4 -c copy -f flv -y rtmp://172.16.146.11:1935/live/apple

在浏览器中播放:

http://172.16.146.11:8080/live/apple.flv

16463135836225.jpg

HTTP HLS

当使用./objs/srs -c ./conf/http.hls.conf启动时,可以使用浏览器打开直播流。

推流:

ffmpeg -re -i input.mp4 -c copy -f flv -y rtmp://172.16.146.11:1935/live/apple

在浏览器中播放:

http://172.16.146.11:8080/live/apple.m3u8

16463143173771.jpg

16463145058215.jpg

知识共享许可协议
本作品由Daniate采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。


评论已关闭