Create Streaming Server after processing

Hi, I’m Blake.

I want to create a streaming server on the kit, so it can share the processed video frames (real-time) for other client. Is there any way that I can make a streaming URL and play it on another computer ?

Thanks you so much.

Hi, you may refer to
https://devtalk.nvidia.com/default/topic/1018689/jetson-tx2/vlc-playing-gstreamer-flow/post/5187270/#5187270
https://devtalk.nvidia.com/default/topic/1043770/jetson-tx2/problems-minimizing-latency-and-maximizing-quality-for-rtsp-and-mpeg-ts-/post/5295828/#5295828
https://devtalk.nvidia.com/default/topic/1027423/jetson-tx2/gstreamer-issue-on-tx2/post/5225972/#5225972

Hi, thanks for your answer. But is there any method can help me stream the video frame by frame, right after it’s processed by OpenCV ? I use Python for programming.

Hi,
We don’t have experience in this case. Other users may work out a solution and share guidance.

If you figure out a solution, it would be great if you can share for our reference.

Looks like these guys over here got it working with opencv and gstreamer with the caveat that you are going to need to rebuild opencv with gstreamer support enabled. You should be able to just set up a gstreamer pipeline and feed frames into it though.

https://answers.opencv.org/question/202017/how-to-use-gstreamer-pipeline-in-opencv/

If you change the pipeline in VideoWriter to something like this:

appsrc ! omxh264enc ! ‘video/x-h264,profile=high’ ! h264parse ! flvmux ! tcpserversink host=YOUR_IP port=5000

you could then just open the stream in VLC.

I -have- had problems with omx264enc. That should be using the NVENC chip but I’ve been running into problems with the encoder framerate slowing down over time (like 10-20mins). May want to replace that with x264enc if that starts to happen. Also no guarantees that pipeline will work as is. You might need something like an nvvidconv between appsrc and omxh264enc. Or a rawvideoparse and videorate to fill in missing fframe if your input framerate is unstable. Pipelines can get complicated.

Would recommend this document for basicn info on gstreamer pipelines:

https://www.google.com/url?sa=t&source=web&rct=j&url=https://developer.nvidia.com/embedded/dlc/l4t-accelerated-gstreamer-guide-32-1&ved=2ahUKEwjUqbuFoILjAhVoTd8KHcUmCGAQFjAAegQIBBAB&usg=AOvVaw0TgT2gmNKhW0IgDd3O8-tD

Thank you all. I’ll give it a try (y)