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
に置き換えると機能します。私は正しいパイプラインロジックを欠いていると確信していますので、正しい方向に私を押し込むことができればどんな明確化も役立ちます。