Accessing h.264 stream with mpa client
Is there a way to access the h.264 stream instead of the yuv images from the 4k camera? I am working on sending a video stream from the 4k camera offboard to a jetson NX over the adb port (previous forum post) at a resolution of 832x832. I have a simple message being sent from a server on the voxl to a client on the jetson over the adb port with some adb port forwarding commands. I am working through the process of implementing the h.264 encoding / decoding, however I notice that there is an h264 stream used in
voxl-rtsp. Unfortunately I require the voxl-camera-server as I am using vvpx4, and @Alex-Kushleyev mentioned in a prior post of mine that you cannot run the
voxl-rtspat the same time. I am still working my way through the
voxl-rtspcode to sort out where the h264 stream is created / accessible from, as I am trying to sort out if there is a way to access the h264 stream without
voxl-rtsp, or if that is something created in that service from the raw YUV images.
If you would like to use voxl-camera-server, then voxl-streamer is the way to go https://docs.modalai.com/voxl-streamer/ . Please check it out and let us know if you have any questions. the combination of the camera server and voxl-streamer will generate an rtsp stream with h264 encoding. Also, you should be able to separate the h264 stream from rtsp encapsulation in voxl-streamer if you need to.
Oh, also, just to mention.. You should be able to run voxl-rtsp at the same time as the camera server, however:
- disable voxl-camera-server from accessing the particular camera (4K in your case)
- start voxl-rtsp after you start the camera server (if you start camera server after voxl-rtsp, it will disrupt voxl-rtsp session during initialization)
Should work, I believe..
HI @Alex-Kushleyev ,
Thanks for the advice, using the voxl-rtsp server to a specified port and using adb port forwarding worked quite nicely. How would you recommend disabling the hires camera in the
voxl-camera-server? I removed it from the config and changed my tflite-server to use the stereo-cameras, but the camera-server throws an error about the
ERROR: object missing port_J2
You should just be able to set the enabled flag in the camera server config file to false. It won't access data from a port unless the camera is enabled.
Thanks @Alex-Gardner that did the trick. I can get the cam-server and rtsp server running at the same time now. Is there a way to get
voxl-rtspto run at aspect ratios other than 3:4? When I try to change it I keep getting the following error
/ # voxl-rtsp -s 832x832 voxl-rtsp version 1.0.4 Setting resolution: 832x832 Connected Started camera 0 Created session Video track created in setGainAndExposure: Unable to get camera parameters rtsp://192.168.86.215:8900/live Camera Control FIFO starting: /dev/camera0_control Unable to connect to start session: -19 Unable to delete video track: -19
If I maintain the 3:4 AR it works as expected.