美文网首页
流媒体初步学习

流媒体初步学习

作者: little_wang | 来源:发表于2017-06-29 10:39 被阅读0次

    每一份协议都有对应的rfc,或者iso的文档,协议实现参考文档。

    拆h264为rtp,vlc去播放

    http://wmnmtm.blog.163.com/blog/static/382457142011921153415/
    vlc根据sdp 去接收播放rtp包
    h264 拆分成rtp的包,参考 https://github.com/wangdxh/Desert-Eagle/blob/master/webrtcgateway/webrtcgateway/nice_agent.cpp
    void read_send_video(void* pdata) 这个函数里面读取 自定义的h264文件格式是4个字节的长度 然后是h264一帧数据, 把帧切成rtp的包 用ice进行发送,
    如果vlc播放,直接发送的话直接用udp
    发送到你在sdp里面指定的端口上

    flv ts文件格式

    接下来要熟悉2种文件格式 flv 文件格式 和 ts 文件格式,flv 是http-flv的基础 ts是hls m3u8的基础,完成把h264文件转换成这两个文件格式
    https://github.com/wangdxh/Desert-Eagle/tree/master/localtest/tstest ts文件格式测试
    flv文件格式网络上比较多,
    https://github.com/wangdxh/Desert-Eagle/tree/master/streampushclient 看懂协议之后,这里也有一些flv的代码

    rtsp http-flv hls

    rtsp协议最简单 可以实现一个rtsp server 用vlc进行播放,用最原始的socket函数实现。
    实现http-flv,就是flv文件走在http上面使用chunked格式
    hls协议 就是新增一个m3u8的文件,ts文件还是ts文件
    https://github.com/wangdxh/Desert-Eagle/tree/master/streamserver

    webrtc

    然后就可以进阶到webrtc了,在这里是新的协议 ice,dtls,srtp,使用协议库去完成网也使用webrtc浏览视频
    https://github.com/wangdxh/Desert-Eagle/tree/master/webrtcgateway

    mp4文件格式

    video标签,走hls,http-flv 最终都是使用fragmented mp4去播放,mp4文件格式的了解还是很有必要的,mp4v2库

    网络库

    然后就是自己实现网络库,接着是选择网络库
    这个过程是穿插在协议实现的过程中

    相关文章

      网友评论

          本文标题:流媒体初步学习

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