2

gstreamer を使用して h265 でエンコードされたビデオをストリーミングしようとしています。コマンドを使用しています

gst-launch-0.10 filesrc location=/home/user/Desktop/sample_mpeg4.mp4 ! qtdemux ! h264パース!ビデオ/x-h264 ! ffmpegcolorspace ! デインターレース!xviimagesink*

私はこれを取得しています

警告: 誤ったパイプライン: h264parse0 を ffmpegcsp0 にリンクできませんでした

私が克服しなければならない間違い

なぜ

ffdec_h264

見つけられなかった

これを試すとエラーが発生します

gst-launch-0.10 uridecodebin uri=file:///home/user/Desktop/sample_mpeg4.mp4 ! xvimagesink

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstQTDemux:qtdemux0: GStreamer encountered a general stream error.
Additional debug info:
qtdemux.c(3891): gst_qtdemux_loop (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstQTDemux:qtdemux0:
streaming stopped, reason not-negotiated
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
4

2 に答える 2

3

まず、これはタイプミスだと思います:

h265ビデオをストリーミングしようとしています

右 ?

次に、そのユースケースには uridecodebin を使用する必要があります。

gst-launch uridecodebin uri=file:///home/user/Desktop/sample_mpeg4.mp4 ! xvimagesink

起動ラインの実際の問題は、h264parse が h264 マテリアル (video/x-h264) を出力することです。これは、選択したデコーダーによって video/x-raw に適切にデコードする必要があります。

0.10 で動作するはずのもの:

gst-launch-0.10 filesrc location= /home/user/Desktop/sample_mpeg4.mp4 ! qtdemux ! ffdec_h264 ! autovideosink

decodebin がそれを処理してくれるので、それを使用したほうがよいでしょう。

于 2013-09-17T14:57:50.763 に答える