どうも。
以前openSUSEのFirefoxでH264な動画再生をするため色々していたのですが、Qt製のソフト、詳しく言えばQMovieクラスだけではH.264な動画は再生できないことがわかっていました。(QMovieは「without sound」とある。)
そこで気になったのが以前書いたPhononのバックエンドをVLCに変えるの中で紹介したPhononというもの。
これはQtに付属しており、このバックエンドをVLCに変更し、VideoLAN本家のvlcを導入しておけばPhonon経由で再生できるのかもと思った次第です。
まずは開発に必要なものを揃えます。最低Qt開発環境とcmakeは入っているものとして…yastかzypperで「phonon4qt5-devel」を入れます。他のディストロでは似たようなものを入れてください。(もちろんバックエンドはVLCに変更済みにしておいてください。)
次にCMakeLists.txtに
find_package(Phonon4Qt5 REQUIRED) target_link_libraries(プロジェクト名 ${PHONON_LIBRARY})
を追加します。
以下テストコード
#include <QApplication> #include <QUrl> #include <phonon/VideoPlayer> int main(int argc, char *argv[]) { QApplication app(argc, argv); Phonon::VideoPlayer player(Phonon::VideoCategory); player.show(); player.play(QUrl("./test.mp4")); return app.exec(); }
これで再生できるはずです。
割とかんたんに再生できて、びっくりなんですが、player.play(QUrl(“http://…”))とUrl入れるとネットから持ってきて再生しだします。ストリーム再生はできてませんが。
というわけでメモでした。