3

Debian Jessie Linux に gstreamer をインストールしました。実際に QtMultimedia フレームワーク内で使用する予定です。そして、私は vlc に精通していますが... gstreamer の世界では初めてです。

次の非常に基本的なqmlプログラムを実行しようとしました:

Window {
    visible: true

    MediaPlayer {
        id: mediaplayer
        source: "file:///home/kai/Videos/testx264.mp4"
    }

    VideoOutput {
        anchors.fill: parent
        source: mediaplayer
    }

    MouseArea {
        id: playArea
        anchors.fill: parent
        onPressed:
        {

            mediaplayer.play()
            console.log("error = ", mediaplayer.errorString)
        }
    }
}

ビデオを再生しようとすると、音声は再生されますが、ビデオは再生されません。アプリケーション出力で、以下のログを取得します。

Warning: "No decoder available for type 'video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe1001e6764001fac56240b435f9f016a040402800000030080000032478c18c4c001000668e88e1f2c8b, width=(int)720, height=(int)404, framerate=(fraction)50/1, pixel-aspect-ratio=(fraction)1/1, parsed=(boolean)true'."
qml: error =  Cannot play stream of type: <unknown>

ただし、次のように gstreamer コマンド ラインを起動すると、ビデオを正しく再生できます。

gst-launch-1.0 filesrc location=/home/kai/Videos/testx264.mp4  ! decodebin name=decoder decoder. ! videoconvert ! xvimagesink decoder. ! audioconvert ! pulsesink

何が起こっているのかよくわかりません。私のバージョンの Qt が gst のものと静的にリンクされているのではないかと思っていました。Qt 5.5 を通常の Linux インストーラーでインストールしました。

特定の設定を行う必要がありますか? 特定の Qt コンポーネントをそれぞれ再コンパイルする必要がありますか?

Z.

4

0 に答える 0