I'm tring to play a RTP video stream which is coming from an IP Camera. From SDP, the RTP stream contains a MPEG PS stream in it, but I cannot found any proper depay plugin to get PS packet from RTP packet in Gstreamer plugins(good, bad, ugly). The steam can be played by VLC by using the follow SDP.
Can anyone give me a advice to play the stream by Gstreamer?
v=0 m=video 5000 RTP/AVP 96 c=IN IP4 127.0.0.1 a=rtpmap:96 MP2P/90000
Related
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
I have created an RTP stream with ffmpeg and made the SDP file from what it printed out.
I can connect ffplay to the stream by reading the sdp file.
What is the correct url to give to QMediaContent to connect it to a RTP stream by giving it a local / remote SDP file?
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
I am developing a client program which will display the media captured from IP camera. So I want to whether the RTP packets using RTSP protocol contain both audio and video if contains both how should I extract it?
RTSP stream does not carry video/audio itself, it provides a method to control independent RTP video and audio streams (they are in turn independent one from another).
One of the options though is when RTP streams are tunnelled through RTSP connection, in which case all communication might be taking place through single TCP connection.
You can read the SDP returned in the SETUP request to the RtspServer.
There should be a MediaInformation for each stream available.
That will tell you if there is audio or video etc...
http://en.wikipedia.org/wiki/Session_Description_Protocol
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.