2017-12-01 55 views
0

gstreamerを使用して、内部のウェブカメラとマイクからセグメント化されたファイルにオーディオとビデオを記録しようとしています。gstreamerでセグメント化されたオーディオとビデオをキャプチャ

それは実行して、単一のファイルに動作します:やったときに

gst-launch-1.0 -e avfvideosrc ! 
video/x-raw ! vtenc_h264 ! h264parse ! queue ! 
mpegtsmux name=mux ! filesink location=test.mp4 osxaudiosrc ! 
decodebin ! audioconvert ! faac ! aacparse ! queue ! mux. 

それは動作しません:

gst-launch-1.0 -e avfvideosrc ! 
video/x-raw ! vtenc_h264 ! h264parse ! queue ! 
splitmuxsink 
muxer=mpegtsmux 
location=test%04d.mp4 
max-size-time=1000000000 
name=mux osxaudiosrc ! 
decodebin ! audioconvert ! faac ! aacparse ! queue ! mux. 

が、私は上のgstreamer 1.12.3を使用していerroneous pipeline: could not link queue1 to mux

を言ってMac OSX Sierra

注:H264/AACエンコーディングは、私がしたいもののために必要ではありません達成することができます。 avimux、どんな理由であれ、問題ありません。

編集:私は同じエラーでWindowsマシンでこれを試しました。

gst-launch-1.0 -ev ksvideosrc ! video/x-raw ! 
videoconvert ! queue ! 
splitmuxsink max-size-time=1000000000 muxer=avimux name=mux 
location=video%04d.avi autoaudiosrc ! 
decodebin ! audioconvert ! queue ! mux. 

Macの場合と同じように、splitmuxsinkをavimux ! filesinkに置き換えると機能します。私は正しいパイプラインロジックを欠いていると確信していますので、正しい方向に私を押し込むことができればどんな明確化も役立ちます。

答えて

0

私はそうのようなミュクサーのオーディオトラックにオーディオストリームを送信するために必要な:mux.audio_0

gst-launch-1.0 -ev ksvideosrc ! video/x-raw ! 
videoconvert ! queue ! 
splitmuxsink max-size-time=1000000000 muxer=avimux name=mux 
location=video%04d.avi autoaudiosrc ! 
decodebin ! audioconvert ! queue ! mux.audio_O 

ドキュメントは明らかである場合に、この問題が発生したが、あなたはいくつかの基本的なを逃していますそれをどのように解釈するかに関する知識。

関連する問題