2017-10-24 3 views
0

私はカメラビデオを受信し、ビデオを正常に処理しました(テンソルフローを使用してオブジェクトのアウトラインボックス)。処理されたビデオをクライアントマシンに再送信して、処理されたビデオをクライアントでリアルタイムに表示できるようにしたい。ビデオストリームを別のマシンにプッシュ

私はたくさんのGoogle検索を行ったが、解決策を見つけることができなかった。私はPythonでプログラミングをしています.RTSP用のライブラリはPython3でインポートできます。またはビデオを別のマシンに流すことができる他のプロトコル。

+1

を実行するため

が見えます。 – Anthony

答えて

0

ありがとうアンソニー私はFfmpegを試しました。これはインストールされたpip3でPython3依存関係のpython-ffmpegをインストールしました。

command = [FFMPEG_BIN, 
       '-y', 
       '-f', 'rawvideo', 
       '-vcodec', 'rawvideo', 
       '-s', dimension, 
       '-pix_fmt', 'bgr24', 
       '-r', '24', 
       '-i', '-', 
       '-an', 
       '-tune', 'zerolatency', 
       '-preset', 'ultrafast', 
       '-crf', '0', 
       '-b:v', '2000k', 
       '-qmin', '1', 
       '-qmax', '4', 
       '-qscale', '4', 
       '-vcodec', 'rawvideo', 
       feed] 

self.proc = sp.Popen(command, stdout=sp.PIPE, stderr=None, stdin=sp.PIPE) 

while True: 

    ret, frame = self.cap.read() 
    #some analysis done here 
    if ret: 
    self.proc.stdin.write(frame.tostring()) 

出力vcodecはanytypeでもかまいません。これはffmpegのとそのスイートの仕事であるようにそれはthis-

HTTPPort 1234 
RTSPPort 1235 

MaxClients 1000 
MaxBandwidth 10000 


<Feed feed1.ffm> 
     File /tmp/feed1.ffm 
     ACL allow 127.0.0.1 
</Feed> 
<Stream test1.sdp> 
    NoDefaults 
    Feed feed1.ffm 
    Format rtp 
    Noaudio 
    VideoCodec libx264 
    VideoSize 1920x1080 
    #VideoHighQuality 
    VideoBitRate 64 
    VideoFrameRate 17 
    VideoGopSize 25 
    VideoBufferSize 50000 
    AVOptionVideo flags +global_header 
    AVOptionVideo me_range 16 
    AVOptionVideo qdiff 4 
    AVOptionVideo qmin 30 
    AVOptionVideo qmax 34 
    ACL allow 192.168.0.0 192.168.255.255 
    PreRoll 0 
</Stream> 

よう/etc/ffserver.confでffserver.confファイルを作成し、仕事とffserver

関連する問題