通过 ffmpeg 流式传输 HTTP

通过 ffmpeg 流式传输 HTTP

我想通过 HTTP 传输视频流,但是 ffmpeg 失败并显示以下消息:

[tcp @ 0x5636b74e4740] 连接到 tcp://127.0.0.1:4000 失败:连接被拒绝http://127.0.0.1:4000/: 连接被拒绝

我的命令是:

ffmpeg -i rtsp://username:[email protected]:554 -vsync 0 -vcodec copy -movflags frag_keyframe+empty_moov -f mp4 http://127.0.0.1:4000/

我只是想将 RTSP 视频转换为可在使用 HTTP 的浏览器上播放。显然我需要一个 HTTP 服务器来实现这一点,但我不知道该怎么做。任何帮助都非常感谢。

谢谢

答案1

要运行 ffmpeg,您必须先在系统上安装 ffmpeg...并确保它与 html 文件位于同一文件夹中。然后运行以下命令:

ffmpeg -i rtsp://username:[email protected]:554/Streaming/Channels/101 -fflags flush_packets -max_delay 5 -flags -global_header -hls_time 5 -hls_list_size 2 -hls_flags delete_segments -vcodec copy -y video1.m3u8

它将流转换为带有 m3u8 扩展名的视频文件。

运行命令后,使用 html 在网络上显示:

<html>
  <head>
    <link href="https://vjs.zencdn.net/7.17.0/video-js.css" rel="stylesheet" />
    <style>
      .cctvplay
      {
        float: left;
        margin-left: 5px;
        margin-top: 5px;
      }
    </style>
  </head>
  <body>
    <div class='cctvplay' >
      <video id="my-video" style="text-decoration: none" class="video-js" controls poster='' preload="auto" width="520" height="440" data-setup=" {}" >
        <source src="video1.m3u8" />
      
    </div>
         <script src="https://vjs.zencdn.net/7.17.0/video.min.js"></script>
  </body>
</html>

祝你好运...

相关内容