ローカルにインストールされたLogitech C920カメラからH233ストリームを/dev/video0
からGstreamer 1.0
v4l2src
要素でキャプチャしようとしています。Gstreamerでカメラからh.264ストリームをキャプチャ
v4l2-ctl --list-formats
はカメラがH264にビデオフォーマットを与えることが可能であることを示しています
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-h264, width=(int)800, height=(int)448, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h264, width=(int)800, height=(int)448, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-h264, width=(int)800, height=(int)448, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-h264, width=(int)800, height=(int)448, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2809): gst_base_src_loop(): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 67687169 ns.
すべてのヘルプ:
# v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
...
Index : 1
Type : Video Capture
Pixel Format: 'H264' (compressed)
Name : H.264
...
しかし、パイプライン
# gst-launch-1.0 -vvv v4l2src device=/dev/video0 ! video/x-h264, width=800, height=448, framerate=30/1 ! fakesink
は私にnot-negotiated (-4)
エラーを与え続け!
ありがとう! 'cvlc'は魅力的に機能します!私はRasperry Piで使用しています。 –
C920はH264モードですか?本気ですか?ラズベリーパイのUSBの問題のために、私はラズベリーパイでカメラのH264モードを有効にすることに多くの問題を抱えていました。いくつかのH264フレームはその問題のために失われるので、ビデオは奇妙です。実際には、そのために、私はBeagleboneでC920を使用しています。 とにかく、それがあなたのために働く場合、私はこの問題を解決するファームウェアの更新があったと思います。 –
私は前にフレームを落とすことにこのようなUSBの問題がありました。私は、ここで(https://github.com/raspberrypi/linux/issues/238)のように新しいRapbianカーネルをインストールしました。ドロップフレームの問題が消えました。今すぐH264ビデオをストリーミングするのは非常にスムーズです。 –