1

I'm trying to use Gstreamer 1.0 to send a USB webcam feed over RTMP. I have the following working pipeline that uses the OMX h264 encoder on a Raspberry Pi:

gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg, width=1280, height=720, framerate=30/1 ! jpegdec ! videoconvert  ! queue   ! omxh264enc ! h264parse ! flvmux  !  rtmpsink location='<rtmp URL>'

The problem I have is that if I add any parameters to the encoder like target-bitrate, control-rate etc, I get the following error:

ERROR: from element /GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0: Could not initialise supporting library.
Additional debug info:
gstvideoencoder.c(1627): gst_video_encoder_change_state (): /GstPipeline:pipeline0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0:
Failed to open encoder

Any ideas why?

Edit: This is what the pipeline looks with a parameter, in case there's something wrong with my syntax:

gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg, width=1280, height=720, framerate=30/1 ! jpegdec ! videoconvert  ! queue   ! omxh264enc target-bitrate=10000 ! h264parse ! flvmux  ! rtmpsink location='<rtmp URL>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.