4

リモートデスクトップのストリーミングビデオを表示する必要があるWebアプリに取り組んでいます。すでにffmpeg/ffserverとflowplayerを使用してこれを実装し、RTSPを.flv形式にトランスコードしていますが、非常に壊れやすく、私の調査により、VLCのコマンドラインバージョンを使用するようになりました。

私の質問は、フラッシュへの依存を避けながら、トランスコードされたRTSP(OGG、RTP、または別の形式として)をブラウザーにパイプする方法はありますか?

タグがストリーミングビデオをかなり長い間サポートしていないことは知っていますが、一貫性のあるドキュメントを見つけるのに問題があります。RTPを直接パイプできると言う人もいれば、タグを介してストリーミングすることは決してできないと言う人もいます。

また、現在、ローカルのApacheサーバーでこれらすべてをテストしています。

トランスコーディングは次のように見えると思います。

  • vlc -vvv rtsp://xx.xx.xx.xx:554 / vga.sdp --no-sout-audio --sout'#standard {access = http、mux = ogg、dst = http:// localhost / test_ogg.php} '

また

  • vlc -vvv rtsp://xx.xx.xx.xx:554 / vga.sdp --no-sout-audio --sout'#transcode {vcodec = mp4v、acodec = mpga、vb = 400}:duplicate {dst = display、dst = rtp {mux = ts、dst = xxx.xxx.xx.xx、port = xxxx}} '

ありがとう-メイソン

4

1 に答える 1

5

さて、私が探していたソリューションは、CVLC 2.0.1 [コンソールのみの VLC] の形で提供されましたが、ffmpeg の多重化機能も利用しました。

このワンライナーは、RTSP ストリームを FLV にトランスコードし、指定されたポートでローカルホスト サーバーにプッシュします。

cvlc rtsp://xxx.xxx.xxx.xxx:554/vga.sdp :sout='#transcode{vcodec=FLV1,vb=2048,fps=25,scale=1,acodec=none,deinterlace}:http{mime=video/x-flv,mux=ffmpeg{mux=flv},dst=127.0.0.1:8090/device_1.flv}' :no-sout-standard-sap :ttl=5 :sout-keep :no-audio --video --no-sout-audio 

この利点には、ストリームが解像度、ビット レート、フレーム レートなどを変更するたびに ffserver.conf ファイルを編集する必要がないことが含まれます。 - ストリームを再キャプチャできるように、この 1 行を再開するだけです。また、ストリームに適切な仕様がある場合は、 プロパティvb=fps=プロパティは必要ありません。Web ページのためにストリームを調整する必要がある場合にのみ、それらを使用します。

--network-cachingは、特定の状況では非常に便利ですが、私の場合は不要であると考えていた別の機能です。

Flowplayer のコードは次のようになります。

<div style="width:1280px;height:720px;margin:10px" id="player_1"></div><script language="javascript">
flowplayer("player_1", {src: "/js/flowplayer-3.2.7.swf", wmode:"transparent"},{
clip: {
  url: 'http://127.0.0.1:8090/device_1.flv',
  autoPlay: true,
  autoBuffering: true,
  live: true,
  bufferLength:0
}, 
plugins: { 
   controls: { 
      all: false,
      scrubber: true,
      play: true, 
      fullscreen: true, 
      time: false,
      width: '100%',
      opacity: 0.8,
      tooltips: {
        buttons: true,
        fullscreen: 'Enter fullscreen mode'
    }
   }
} 
});

これが、同様の問題に遭遇した視聴者の助けになることを願っています!

石工

于 2012-07-18T19:35:53.403 に答える