は、[OK]を私はこの思い付いたが、時にはALSAは、ストリームが適切な状態ではないと言う
GST_DEBUG=3 gst-launch-1.0 concat name=c2 ! videoconvert ! videorate ! autovideosink concat name=c ! audioconvert ! audiorate ! alsasink filesrc location=big.mp4 ! decodebin name=d1 ! audio/x-raw ! queue ! c. filesrc location=big2.mp4 ! decodebin name=d2 ! audio/x-raw ! queue ! c. d1. ! video/x-raw ! queue ! c2. d2. ! video/x-raw ! queue ! c2.
パイプへリトル情報:
1、あなたが使用する必要がいけませんaudioconvert/videoconvertからdecodebinからのストリームの種類を認識することができます。オーディオ/ビデオのデコード後は常に生のままの形式で、安全にaudio/x-raw
またはvideo/x-raw
を使用できます。
2、2つのconcat要素を使用することができます。ただし、2つのコンスタットを使用すると、オーディオ/ビデオが同期しない恐れがあります。あなたは適切な同期が必要なときにすべてのパイプを1つにすることが常に重要です。
3、私はalsasink使用していますが、あなたが...時々autoaudiosinkは私はあまり好きではないその私のためpulsesinkを選んだものは何でもシンクスーツ使用することができます..私はパイプのオーディオ終わりのこの種を使用したい:audioconvert ! audiorate ! alsasink
4、私はこれらのエラーを見てきましたが、キューを追加した後、それは去っていきました..しかし、彼らはあなたのために表示されることがあります私は知らない...
0:00:00.053972316 11839 0x7f0274003b70 WARN audiobasesink gstaudiobasesink.c:1139:gst_audio_base_sink_wait_event:<alsasink0> error: Sink not negotiated before eos event.
ERROR: from element /GstPipeline:pipeline0/GstAlsaSink:alsasink0: The stream is in the wrong format.
Additional debug info:
gstaudiobasesink.c(1139): gst_audio_base_sink_wait_event(): /GstPipeline:pipeline0/GstAlsaSink:alsasink0:
Sink not negotiated before eos event.
ERROR: pipeline doesn't want to preroll.
あなたは「これまでの運」とはどういう意味ですか?このパイプラインは私のために働き、2つのmp4ビデオを連続して再生します: 'gst-launch-1.0 concat name = c!ビデオコンバート! videoscale! autovideosink filesrc location = video1.mp4!デコードビン! c。 filesrc場所= video2.mp4!デコードビン! c.' –
@EzequielGarciaはい、それは動作しますが、彼は同じパイプでもオーディオを持っている必要があります:) – nayana