2012-02-02 32 views
13

私はUDP経由でウェブカメラ/マイクからビデオとオーディオをストリーミングしています。ストリームを見ると(同じマシン上であっても)約4秒の遅延があります。私はUDPキャッシュの設定を0または1に設定しようとしましたが、それは助けに見えません。私は、モノラルサウンドを使用し、サンプルレートを無駄にすることなく、ビデオとオーディオのビットレートを減らそうとしました。遅延を減らす方法 - VLC Webカムからのストリーミング

私は遅延を減らす方法を知っている人がいますが、テレビ会議のために適しています。つまり、< 1秒ですか?

ビューア/ストリーマーに適用できる設定はありますか?ウェブカメラでVLCストリーミングの私の研究では

おかげで、

マルク・

答えて

3

は、私はDellのクリエイティブ統合WebカメラからWMV/ASFコンテナ+ WMV2コーデックでトランスコードUDPマルチキャストストリームのための2-3秒の遅延を得ましたcifビデオサイズ。

MP4/MOVコンテナ+ H.264コーデックを使用している場合、ビットレート、fps、およびスケールで同じ設定で前者の2倍の遅延があります。

私はそれに興味がないので、両方のストリーミング設定でオーディオを無効にしました。

私は2つのVLCのバージョンで勉強しました:付き

  • VLC 1.1.11(最新のWindowsの安定版リリース)
  • VLC 2.1.0(最新のナイトリービルド版)

を最初のバージョンでは、ウェブカメラからトランスコードしてストリーミングできましたが、ストリームを正しく再生できませんでした(ちょうど黒いビデオストリームがありました)

2番目のバージョンでは、トランスコード、ストリーミング、再生用に最適です。

この研究は、上で行われた:あなたがビデオ/オーディオをストリーミングするためにRTSPプロトコルを使用している場合、あなたは

ツール - > preferences->オール>入力時の遅延を調整することができます

Intel Core 2 Duo T7250 
4GB DDR2-667 SDRAM 
SATA 7200 RPM HDD 
GeForce 8400M GS 128MB GDDR3 (+ 128MB shared memory = 256MB video memory) 
Windows XP Pro SP3 
+0

ラップトップでsimular設定を試しましたが、プロセッサはi7ですが、グラフィックカードはインテルのものです。ビデオをストリーミングするときにグラフィックスカードプロセッサーが使用されるかどうか知っていますか?それは私の問題かもしれません。 – Marc

+1

はい、Windowsでは、 'dshow://'はDirectShowインタフェースです。 DirectX GPUのすべてのハードウェアアクセラレーション機能を使用します。これらの機能は、サーバー側またはクライアント側のいずれかで検出された場合にパフォーマンスを向上させることができます。 – ecle

7

/codecs-> demuxers-> RTP/RTSP->キャッシング値

ツール - > preferences->オール>入力/ codecs-> demuxers-> RTP-> RTPデジッタバッファ長

+8

注:夜間ビルドバージョンVLC 2.1.0-git-20120203-0008のGUIには、「キャッシュ値(ms)」と「RTPデジッタバッファ長(msec)」オプションはありません。 'Input/Codecs-> Access modules-> UDP'ツリー項目でさえ失われているので、' UDP caching'オプションはGUIから利用できません。 – ecle

+2

彼らは今それを "ネットワークキャッシング"と呼んでいますが、それは同じように動作するとは思われません。 2.0.4では1.1.9(〜100-150ms)の大きなレイテンシを得ることができません(そのような低い値では、はるかに不安定になります)。 –

+1

@ YngveSneenLindal 1.1.9でこのような優れた待ち時間のために使用したコマンドラインは何ですか? – rogerdpack

4

これを試します。

#!/bin/sh 
ETH=eth0 

cvlc --miface=$ETH v4l2:///dev/video0 :input-slave=alsa://hw:0,0 :sout=#transcode{vcodec=h264,venc=x264{preset=ultrafast,tune=zerolatency,intra-refresh,lookahead=10,keyint=15},scale=auto,acodec=mpga,ab=128}:rtp{dst=224.10.0.1,port=5004,mux=ts} :sout-keep >/dev/null 2>/dev/null & 
vlc1=$! 
vlc --miface=$ETH rtp://224.10.0.1 >/dev/null 2>/dev/null & 
vlc2=$! 
wait $vlc2 
kill -9 $vlc1 

私は720pのウェブカメラで2秒の遅延をした、それは1つのコア〜30%のための2.5Mbit/sのTRAFICと負荷について生み出します。

関連する問題