[aravis] Help with aravissrc GStreamer element

  • From: Matthew Thyer <matthew.thyer@xxxxxxxxxxxxxxx>
  • To: "aravis@xxxxxxxxxxxxx" <aravis@xxxxxxxxxxxxx>
  • Date: Wed, 15 Aug 2018 02:17:14 +0000

Dear aravis mailing list,

I have two GenICam industrial cameras that's I'd like to use with the GStreamer 
1.14.2 RTSP server. My cameras are:
- FLIR (Point Grey Research) Blackfly S BFS-U3-13Y3C
- Basler ace acA1300-200uc

I've already got working code to source video from a Video4Linux2 source 
camera, encode it as H.264, encapsulate that as RTP and serve this via RTSP.

So far, I've built aravis 0.5.13 from source and confirmed that I can see the 
cameras in Ubuntu 16.04 LTS and with support from Emmanuel Pacaud I've resolved 
the inability of the aravis 0.5.13 GStreamer plugin to be loaded by GStreamer 
1.14.x. That requires a fix in aravis which is not currently released (fixed in 
master since 0f66b97). So I now have the aravis GStreamer plugin loading by 
building aravis from git master.

I now need to understand how to use the aravissrc element to acquire video from 
my cameras and encode it. So far, I've been unsuccessful in doing this (I'm 
just testing with the FLIR camera at this point).

I realise that this will not be as simple as a pipeline of:
"aravissrc ! x264enc ! rtph264pay name=pay0 pt=96"

The hard bit will be constructing the right capability filter between the 
source and the encoder. I currently get the warning "basesrc 
gstbasesrc.c:3055:gst_base_src_loop:<aravis0> error: Internal data stream 
error." with the following pipeline:

"aravissrc ! video/x-raw,format=YV12,width=512,height=512,framerate=30/1 ! 
x264enc ! video/x-h264,profile=high ! rtph264pay name=pay0 pt=96"

I know about the "arv-tool-0.6 features" command but don't know how the GenICam 
feature list maps to GStreamer concepts such as a fourcc specified pixel format.

My end point needs to be:
- User specifies a GStreamer FOURCC pixel format and resolution
- My code validates this against the actual hardware capabilities
- My code captures the video and encodes it

Any help would be greatly appreciated.

Other related posts:

  • » [aravis] Help with aravissrc GStreamer element - Matthew Thyer