Convert RTP to RTSP in Jetson Nano - gstreamer

How Do I convert the RTP (provided by jetson.utils.videoOutput(“rtp://#:1234”)) to RTSP so that the same can ve streamed and be viewed over network.
I tried with FFserver as well as Streamer, but don't have much of an expertise in those.

The dev branch of jetson-inference/jetson-utils has native support for RTSP output. See:
https://forums.developer.nvidia.com/t/convert-rtp-to-rtsp/239731/3

Related

RTSP Streaming Server C++

I would like to write a RTSP streaming server using C++. Multiple clients will be connected to this server for receiving the streamed data.
What I understand is that I need to do socket programming in C++ for client server architecture.
I know FFMPEG has command line support for streaming audio/video. But my requirement is writing a client server socket model in C++.
I had a look at https://www.medialan.de/usecase0001.html
I am also looking at this. https://www.youtube.com/watch?v=MEMzo59CPr8
but I am not sure if this will help me.
For streaming the audio/video data, Do i need to use FFMEPG APIs. If yes, which libraries of FFMPEG i need to use?.
I think I will use gstreamer RTSP server.
Gstreamer is easy to use.
I tried sample example and I was able to stream a video over RTSP.
No, you don’t need ffmpeg to write an RTSP server.

multipeer Connectivity using H264 encoding and decoding?

MultiPeer connectivity for Live Video Streaming between Phones that are connected.Which i have Done the streaming using this but the streaming is very slow and Quality of the Video is very low. So Decided to Add H264 encoding and decoding method. How can we Implement this Method using Peer to Peer.
My Question is "Is it Possible to encode and decode the video and Stream through MultiPeer connectivity which the Devices we are connected?"
I have used this Links for H264 And Multipeer Connectivity
H264 which is in objective-C i converted the code to Swift.
https://mobisoftinfotech.com/resources/mguide/h264-encode-decode-using-videotoolbox/
MultiPeerConnectivity which is in objective-C i converted the code to Swift
https://github.com/pj4533/AVCaptureMultipeerVideoDataOutput

OpenCV and RTMP

I want to be able to create an application that can read and publish an RTMP stream.
Using OpenCV i could read rtp due to it's ffmpeg backend.
Stream video from ffmpeg and capture with OpenCV
C++ RTMP is another possibility, but this is an RTMP server so it mainly requests and sends files. Although open source, i am unsure how to build or integrate this into a Visual Studio application in such a way as to make the function calls available to my project.
OTher sources indicate that OpenCV's RTSP isn't great.
http://workingwithcomputervision.blogspot.co.nz/2012/06/issues-with-opencv-and-rtsp.html
How can you run a streaming server, such as RTMP C++ and get the raw data out. OpenCV can encode and decode image data for streaming, but how can you link the two?
Could a C++ application pipe a stream together? How could i interface with that stream to send it more images? Also, for receiving images?
Regards,
cRMTPServer and LibRTMP works well.

libav streaming h264 over mpegts to rtmp server

I'm working on an application where I want to stream h264 over mpegts
to a rtmp server (FMS, C++ RTMP Server, Wowza). I'm looking at the
output-example.c of libav. I stripped all the audio for now to keep it
simple.
I'm using this code as a test (not working):
https://gist.github.com/fb450aee77471a1d86f3#comments
What am I doing wrong there?
Thanks

live555 problem while streaming over the internet

I've compiled with VS the live555 source code, and it works just fine if I try to stream locally a file
e.g.
Command Line:
live555.exe myfile.mp3
VLC Connection String
rtsp://169.254.1.231:8554/myfile.mp3
but if I try to stream it over the internet, VLC communicates with live555, but live555 won't send data to him
Command Line
live555.exe myfile.mp3
VLC Connection String
rtsp://80.223.43.123:8554/myfile.mp3
I've already forwarded the 8554 port (both tcp/udp) and tried to disable my firewall but this doesn't solve.
How is that?
To troubleshoot:
Are you streaming RTP over RTSP: have you checked the "Use RTP over RTSP (TCP)" option in VLC? You can check this in VLC under the preferences: input/codecs->Demuxers->RTP/RTSP. You can try to see if this solves the problem in which case it could be that UDP is blocked.
You speak of forwarding. Do you mean port forwarding from one machine to the RTSP server? if so-> if you are not doing RTP over RTSP, then you would also need to forward the ports for the media which is not the same as the RTSP port (554 or 8554). These ports are exchanged during the RTSP SETUP. If you do RTP over RTSP the media is interleaved over 554 or 8554 and you don't have to worry about this.
Also, another good debugging tool is the live555 openRTSP application. You can run it from the command line and specify "-t" for RTP over RTSP, which is basically what the VLC option does. You can specify "-T" for HTTP tunneling, etc and it allows you to write captured media packets to file, etc.