Chinaunix首页 | 论坛 | 博客
  • 博客访问: 162800
  • 博文数量: 67
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 622
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-19 19:12
文章分类

全部博文(67)

分类: LINUX

2017-01-20 23:01:50


1、vod服务器
 
    1.1 打开telnet接口

    vlc --ttl 12 -vvv --color -I telnet --telnet-password 111 --rtsp-host 172.16.1.12 --rtsp-port 554
    出错:    
        main vod server error: socket bind error (Permission denied)
        main vod server error: cannot create socket(s) for HTTP host
    更换端口后可解决,原因不明
    vlc --ttl 12 -vvv --color -I telnet --telnet-password 111 --rtsp-host 172.16.1.12 --rtsp-port 5555

    1.2 telnet
        telnet localhost 4212
        new Test vod enabled
        setup Test input my_video.mpg

    1.3vlc客户端打开网络串流
        rtsp://172.16.1.12:5555/Test

    centos创建vod与windows基本一样,除了centos用 --rtsp-host 172.16.1.12 --rtsp-port 5555,Windows用 --rtsp-host=172.16.1.12:5555
    抓包发现rtsp包被封装到了tcp里边,wireshark无法识别rtsp包,不知可否指定使用udp??
    针对包含了rtsp的tcp包,在wireshark中右键->decode as,选rtsp,强制解析rtsp即可。

2、http stream
        vlc -vvv sun.mp4 --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:standard{access=http,mux=ogg,dst=192.168.1.121:8888}'
        sun.mp4编码为h264和aac,但是不转码只能听到声音看不到视频,如果不指定端口则默认是8080而不是80,如果指定使用80端口,bind error
        抓包发现都是tcp包,里边封装了http

3、udp stream
        vlc -vvv sun.mp4 --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,}:udp{mux=ts,dst=192.168.1.103}' --loop
        抓包发现udp包都发给了192.168.1.103:5004,看来默认端口1234,此端口可指定其他
          vlc -vvv sun.mp4 --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,}:udp{mux=ts,dst=192.168.1.103:5005}' --loop

4、rtp streanm
        vlc -vvv sun.mp4 --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{mux=ts,dst=192.168.1.103}'
        也必须用transcode,此处dst指定接收端地址
        抓包发现udp包都发给了192.168.1.103:5004,看来默认端口5004,如要修改需添加port=,(此处不同于udp stream)
            vlc -vvv sun.mp4 --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:rtp{mux=ts,dst=192.168.1.103,port=3940}'
        用wireshark的decode as强制按rtp进行解析,rtp载荷跟udp streaming是一样的(ISO/IEC 13818-1,即mpeg-2)

5、rtsp stream
        vlc -vvv sun.mp4 --sout '#rtp{dst=192.168.1.103,port=1234,sdp=rtsp://192.168.1.121:8888/test}'
        此处dst、port指定rtsp的接收者,但是这个值应该不是必须的,因为是接收者发起的连接,服务端可以检测到接收者的地址
        去掉dst,其实也是可以的,如下:
            vlc -vvv sun.mp4 --sout '#rtp{sdp=rtsp://192.168.1.121:8888/test}'
        此处不用transcode,音视频正常,why?
        抓包发现,rtsp被封装在tcp中,不能单独显示,如果不是用554端口wireshark就无法解析??
        可以用wireshark的decode as强制按rtsp进行解析

6、一个公用源
        rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov
        这个使用默认端口即554,可以解析出rtsp包

7、问题
        vlc -vvv sun.mp4 --sout '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,}:rtp{mux=ts,dst=192.168.1.103}'
        如果不用transcode只有声音,sun.mp4里边的视频是h264,但wiki显示支持h264啊,why?

8、参考
        
        
阅读(1901) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~