Flask Live HLS Streaming with GStreamer 仅适用于本地机器

问题描述

我知道这可能是一个愚蠢的问题,但我可以在任何地方找到答案

所以,我想要完成的是使用 Gstreamer 和 Flask 的简单 HLS 直播。

当我在我的本地机器上测试它时,它按预期工作(显示摄像头馈送),但是当我尝试通过本地网络上的另一台机器访问它时却没有。

我使用 video.js 在 HTML 页面显示

这是 Gstreamer 命令:

gst-launch-1.0 v4l2src device="/dev/video0" ! videoconvert ! clockoverlay ! x264enc tune=zerolatency ! mpegtsmux ! hlssink playlist-root=http://0.0.0.0:8080 target-duration=1 max-files=5

这是 Python 代码

from flask import render_template,Blueprint,send_from_directory

hain = Blueprint('main',__name__)

@hain.route('/')
def index():
    return render_template('index.html')


@hain.route('/<string:file_name>')
def stream(file_name):
    video_dir = './Hain/video'
    return send_from_directory(directory=video_dir,filename=file_name)

这是 HTML:

<!DOCTYPE html>
<html>
   <head>
      <Meta charset="utf-8">
      <title>Test</title>
      <link href="http://vjs.zencdn.net/6.2.8/video-js.css" rel="stylesheet">
   </head>
   <body>
      <h1>Video Feed tester</h1>
      <video id="player" class="video-js vjs-default-skin" controls preload>
         <source src="http://0.0.0.0:8080/playlist.m3u8" type="application/x-mpegURL">
      </video>
      <script src="https://vjs.zencdn.net/6.2.8/video.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/videojs-contrib-hls/5.12.2/videojs-contrib-hls.min.js"></script>
      <script>
          var player = videojs('player',{width: 350,height: 200});
          player.play();
     </script>
   </body>
</html>

可能是什么问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)