H264 profile not working when using gstreamer

  1. Where did you get the camera module(s)?
    amazon.com

  2. Model number of the product(s)?
    Arducam 1080P 60FPS HD USB Camera, H.265/H.264 High Definition UVC Camera

  3. What hardware/platform were you working on?
    Raspberry 4

  4. Problems you were having?
    Not able to define an h264 encoding profile

  5. The dmesg log from your hardware?

[ 59.072318] usb 1-1.4: new high-speed USB device number 3 using xhci_hcd
[ 59.223127] usb 1-1.4: New USB device found, idVendor=1d6c, idProduct=0513, bcdDevice= 0.10
[ 59.223195] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 59.223209] usb 1-1.4: Product: HD WEBCAM
[ 59.223221] usb 1-1.4: Manufacturer: HD WEBCAM
[ 59.223233] usb 1-1.4: SerialNumber: V20201203003
[ 59.306917] uvcvideo 1-1.4:1.1: Unknown video format 35363248-0000-0010-8000-00aa00389b71
[ 59.306956] usb 1-1.4: Found UVC 1.00 device HD WEBCAM (1d6c:0513)
[ 59.309938] input: HD WEBCAM: USB Live Streaming as /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4:1.0/input/input6

  1. What help do you need?

My setup is working ok. I’m streaming via webrtc using a RPI4+GStream+Arducam. This is my pipeline:

pipeline_str  = ''' webrtcbin name=sendrecv bundle-policy=max-bundle
v4l2src device=/dev/video0 !
video/x-h264,profile=high,width=1920,height=1080,level=3.0,framerate=30/1 !
queue max-size-time=100000000 ! h264parse !
rtph264pay mtu=1024 config-interval=-1 name=payloader !
application/x-rtp,media=video,encoding-name=H264,payload=96 ! sendrecv.'''

My problem is that the profile parameter does not work. No matter what I put as a profile, I see the same stream quality. I can even put as profile a dummy, e.g. “asdasd”, that it works fine, making me suspect that the profile parameter is just not being considered.

I want to change the profile because the stream is not very good in quality. The bitrate seems very low. For example, streaming at 1080p I measure only a download transfer rate (at the client site) of about 1mb/s, which is quite low for a 1080p stream.

@mwon

We also have a lot of work that is higher priority at the moment.
I will try to help you in my free or off hours.

Thanks. I’ll appreciate it. I’m stuck with this problem and can’t move on. :frowning:

Hi @Edward,
Any news on this matter?
Thanks

I’m facing the same issue here!

Hi @Edward ,
I’m trying to get the H264 stream from Arducam to be played on the web browser directly using gstreamer webrtcsink (rs).
However, due to the fixed main profile h264 stream coming from the arducam, the web browser is unable to play it.
I am also interested in being able to change the encoding profile. Please let me know if there’s been any progress on this.

Thanks,
Mushfiq.