【问题标题】:Convert MJPEG RTP stream to MP4 RTP stream with FFMPEG - how?使用 FFMPEG 将 MJPEG RTP 流转换为 MP4 RTP 流 - 如何?
【发布时间】:2019-06-26 19:05:13
【问题描述】:

我已经寻找了几天的解决方案如何将 MJPEG rtp 流转换为 MP4 rtp 流。

已经尝试过这样的事情:

ffmpeg -i rtsp://192.168.10.8:554/stream1/mobotix.mjpeg -rtsp_transport tcp -f H264 udp://192.168.10.5:8554

ffmpeg 然后向我显示它正在做某事......

frame= 612 fps= 11 q=25.0 size= 3243kB time=00:00:56.00 bitrate= 474.4kbits/s dup=275 drop=0 speed=0.981x

然后我尝试用 VLC 打开 udp://192.168.10.5:8554 但它不会打开任何东西,只是酒吧永远向左/向右运行。

我需要像 Simple RTP-Server (https://github.com/ossrs/srs) 这样的东西然后流式传输到那个吗?

最好是,当 ffmpeg 可以自己托管 rtp...

【问题讨论】:

    标签: ffmpeg stream mp4 rtp mjpeg


    【解决方案1】:

    这是我用来将本地 mkv 流式传输到 RTP 的方法

    ffmpeg -re -thread_queue_size 4 -i input.mkv -strict -2 -vcodec copy -an -f rtp rtp://127.0.0.1:6005 -acodec copy -vn -sdp_file my_sdp_file -f rtp rtp://127.0.0.1:7005
    

    然后我不得不将生成的 sdp 文件复制到客户端并使用 ffmpeg 将流保存到磁盘

    ffmpeg -protocol_whitelist "file,rtp,udp" -i my_sdp_file -strict -2 saved_rtp_stream.mp4
    

    为了完整起见,这里是 sdp 文件的内容

    $ cat my_sdp_file
    SDP:
    v=0
    o=- 0 0 IN IP4 127.0.0.1
    s=No Name
    t=0 0
    a=tool:libavformat 57.83.100
    m=video 6005 RTP/AVP 96
    c=IN IP4 127.0.0.1
    a=rtpmap:96 H264/90000
    a=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z01AHuiAWh7f+AEAANiAAAH0gABdwHAwABAFgABVc0lGAPFi0SA=,aOvssg==; profile-level-id=4D401E
    m=audio 7005 RTP/AVP 97
    c=IN IP4 127.0.0.1
    a=rtpmap:97 MPEG4-GENERIC/48000/2
    a=fmtp:97 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3; config=1190
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      • 2017-04-11
      • 2012-07-17
      • 2017-08-11
      • 2018-03-01
      • 1970-01-01
      • 2018-09-26
      相关资源
      最近更新 更多