想要通过python绑定使用Gstreamer流mp4

问题描述

import gi
gi.require_version('Gst','1.0')
gi.require_version('GstRtspServer','1.0')
from gi.repository import Gst,GObject,GstRtspServer

loop = GObject.MainLoop()
GObject.threads_init()
Gst.init(None)


class RTSP_Server:
       def __init__(self): # 初期化を実行
           self.server = GstRtspServer.RTSPServer()
           self.address = 'localhost' # アドレスを指定
           self.port = '8554'  # ポートを指定
           #self.launch_description = '( playbin uri=file:///mnt\\c\\users\\user\\videos\\test.mp4 )'# 再生したい動画のディレクトリを指定
           self.launch_description = '( filesrc location = C:\\users\\user\\videos\\test.mp4 ! decodebin ! x264enc ! rtph264pay name=pay0 pt=96 )'

            # ここから先がいまいち流れがわかってないですがテストプログラム同じようなことをしている
           self.server.set_address(self.address)
           self.server.set_service(self.port)
           self.server.connect("client-connected",self.client_connected) 
           self.factory = GstRtspServer.RTSPMediaFactory.new()#
           self.factory.set_launch(self.launch_description)
           self.factory.set_shared(True)#
           #self.factory.set_transport_mode(GstRtspServer.RTSPTransportMode.PLAY)
           self.mount_points = self.server.get_mount_points()#
           self.mount_points.add_factory("/video",self.factory)#
           self.server.attach(None)   
           print('Stream ready') # サーバー準備完了...?

       def client_connected(self,arg1,arg2):# ここもわからず
           print('Client connected') # クライアントが(何者かが接続したとき出力...?)

if __name__ == '__main__':
    server = RTSP_Server()
    loop.run()

我的代码运行不正常... 也许,管道配置会引起问题。

https://github.com/tamaggo/gstreamer-examples 我在git中找到了这段代码,但无法解决我的问题。

所以,请帮助我...

解决方法

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

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

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