【问题标题】:How to implement RTSP Push for my source stream to push to Wowza Cloud?如何为我的源流实现 RTSP 推送以推送到 Wowza Cloud?
【发布时间】:2018-02-12 23:04:15
【问题描述】:

我编写了一个软件,可以从我的外部摄像头捕获 RTP 数据包并能够转发它们。我创建了一个 SDP 文件并将其加载到 VLC 中,然后将 RTP 数据包流式传输到 VLC 并确认它可以正确播放。

现在我想流式传输到 Wowza Cloud。这样做的方法似乎是使用我配置的 RTSP 推送流。不幸的是,我找不到任何关于 RTSP Push 协议的文档。

我了解 RTSP(Pull)以及如何实现它,但不了解 RTSP Push。似乎相机支持这一点,所以这一定是一个既定的协议,但在 RTSP 规范中的任何地方都没有提到推送。 Wowza Cloud 为我提供了端点、端口、流名称和身份验证,但我不知道如何处理它们。好像涉及到 SDP Announce,但是没有明确的指导如何实现。

谁能解释一下如何实现这个 RTSP Push 协议?

【问题讨论】:

    标签: rtsp rtp wowza


    【解决方案1】:

    用于流式传输到 Wowza 的 RTSP Push 协议由以下 RTSP 命令组成:

    1. 选项
    2. 宣布
    3. SETUP(针对每个 RTP 流,即音频和视频)
    4. 记录
    5. TEARDOWN(流式传输完成后)

    ANNOUNCE 与 DESCRIBE 相同,只是您将 SDP 信息作为命令的主体推送。

    在 SETUP 期间,服务器将响应 IP 和端口以通过 UDP(通过传输标头)发送 RTP 数据包。

    可以使用 FFMPEG 和 Wireshark 来检查过程的细节。 ffmpeg 命令如下:

    ffmpeg -re -i inputfile.mp4 -pix_fmt yuv420p -vsync 1 -vcodec libx264 -r 23.976 -threads 0 -b:v: 1024k -bufsize 1024k -preset veryfast -profile:v baseline -tune film -g 48 -x264opts no-scenecut -acodec aac -b:a 192k -ac 2 -ar 48000 -af "aresample=async=1:min_hard_comp=0.100000:first_pts=0" -rtsp_transport tcp -f rtsp rtsp://username:password@192.168.1.2:1935/live/myStream
    

    最后,在整个会话期间保持 Socket 处于打开状态至关重要,否则流会话将被关闭。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-27
      • 1970-01-01
      • 2011-10-01
      • 2018-11-01
      相关资源
      最近更新 更多