视频rtmp协议简介

这篇论文里讲得非常详细。下面说说我的理解。

  1. server端:将视频流按顺序切割为视频+音频合成文件ts,每个ts是视频流的一块,并把ts信息存储在m3u8文件中
  2. client端:读取m3u8里的内容,并获取ts,处理视频帧,合并成视频流放到内存中。观众从内存里看视频

练习:

  1. 首先安装ffmpeg和播放器,mac上
    brew install ffmpeg --with-ffplay
  2. 推流,将某个视频流推到我们server上
    ffmpeg -re -i "http://amdlive.ctnd.com.edgesuite.net/arirang_1ch/smil:arirang_1ch.smil/playlist.m3u8" -vcodec copy -acodec copy -bsf:a aac_adtstoasc -f flv rtmp://xxx.xxx.xxx:19xx/live/xxx?visible=false

    视频流是韩国阿里郎电视节目,推到我们rtmp服务器xxx上

  3. 播放
    ffplay http://xxx.xxx.xxx/live/xxx/playlist.m3u8

    client做了很多工作。我们能看到视频前,已经处理好了很多并放到内存中,这个过程是持续不断的,只要没有遇到视频结束信号

     

posted @ 2017-05-04 17:14  Els0n  阅读(246)  评论(0编辑  收藏  举报