I'm trying to stream video via RTSP in my ubuntu PC.
The video file to be streamed big_buck_bunny_h264.mov is located in following location of my PC :home/user/Downloads/
I'm using gstreamer to stream the video.
Below is the gstreamer command I'm trying :
gst-launch-1.0 rtsprc
location=rtsp://127.0.0.1:9000/home/user/Downloads/big_buck_bunny_h264.mov
latency=0 ! decodebin ! autovideosink
But I'm getting following error on terminal:
System error 111 (connection refused) , Failed to connect
Also I tried streaming via RTSP using VLC player . (open VLC -> Media -> Open Network Streaming -> Enter the url -> Play )
Im getting following error message:
Connection Failed, VLC could not connect to 127.0.0.1:9000. VLC is unable to open the URL.
From the above 2 scenarios (Gstreamer and VLC) , I assume there is something issue with the networking/network interface.
The Current OS I'm using is guest OS Ubuntu 14.04. (I'm acessing ubuntu via VMware Player from windows PC). Network is bridged between windows and ubuntu.
So is this the reason , why RTSP streaming is not working fine in my case ?
Is there any alternative ?
Also kindly tell me , whether I'm using the correct command and file path to stream the video via RTSP.
Do I need to setup LIVE555 streaming server to start streaming video at transmitter ?
Sorry but you have that all wrong..
To use rtspsrc does not mean you are streaming.. it means you are opening an existing stream(as client), as Florian mentioned you have to have running rtsp server which is serving the files to clients..
Clients can be - as you already tried - a vlc or gstreamer pipe with rtspsrc element, or some other players like mplayer(smplayer has also nice user interface for that imho) etc..
There are various options for rtsp servers: gstreamer rtsp server (mentioned here ), crtmpserver, also vlc (but not the way you used it, check this ) and you will find more..
You can also read this nice article about rt*p family of protocols.
Yes you can use live555 as rtsp server at Ubuntu VM and access it from your windows with vlc as you already tried..
Also keep in mind that you usualy do not use full system path (home/etc/etc) to access rtsp files but rather rtsp access point. That means dedicated folder which contains your media files you will access it for example like rtsp://192.168.1.123/vod/file.mp4 where vod is this access folder (or whatever it is called).
HTH
Related
When I stream H264 video over RTSP and use VLC to view the video feed, the video feed is corrupted (partly green but moving objects are still detected). However, if I stop the VLC and restart it again, the video feed is no longer corrupted. Why is it so, and how can I remedy this issue? Thanks!
The H264 is coming natively from a USB camera into a Raspberry Pi. Below is the code within the crontab of the Pi for launching the g-streamer and RTSP server.
#reboot bash /home/pi/gst-rtsp-server/examples/test-launch '( v4l2src device=/dev/video1 ! video/x-h264, width=320, height=240, framerate=20/1 ! h264parse ! rtph264pay name=pay0 pt=98 config-interval=10 )'
The Raspberry Pi is connected over a network. I am using VLC on another computer to view the video feed.
vlc rtsp://10.146.0.57:8554/test
If I reboot the Pi, the video feed on the VLC will be corrupted. I can still see moving objects in the video feed but there will be green and purple pixels all over.
However, if I close the VLC and start VLC again, the issue is gone. The video feed is clean.
The output of VLC:
[0000557c34211570] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Created new TCP socket 35 for connection
libEGL warning: DRI2: failed to authenticate
libEGL warning: DRI2: failed to authenticate
[00007fd9b800df20] main decoder error: buffer deadlock prevented
Please elaborate - you restart the Pi but keep the VLC connection running? Doesn't it disconnect because the RTSP server goes away? VLC should reconnect after the Pi restarts. If it does not do this this may be a problem.
If a new H.264 bitstream is initiated by the Pi it is logically different from what it previously has send. If the VLC does not restart but just continues decoding this stream it may get "confused" resulting in decoding error (relying on wrong reference pictures).
H.264 has a temporal dependency for frames. MJPEG does not have this - each frame can be decoded by it self. Therefore you will not see the issue to be present here.
I'm totally beginner at Raspberry Pi. Is there some way how to control web browser URL with infrared remote? I already saved key codes with LIRC library. (for example key volume up will open google.com, key volume down will open facebook.com etc.)
How to do it? Thanks
You can launch a script that's waiting for IR and when you receive you code you launch a System command like this:
chromium-browser --kiosk www.google.com
hope it helpes
I'm trying to capture microphone input in VLC media player via the http interface and stream this but so far I have arrived at nothing. Is this actually possible?
Which platform? I'm on Mac so i know for sure this is possible with VLC 2.0 for the other platforms this should work as well.
Haven't tested those commands though.
Mac: Use VLC 2.0.0 or later and utilize the qtsound module:
vlc -vvv qtsound://
Win: Use sth like:
vlc dshow:// :dshow-vdev="None" :dshow-adev="Your Audio Device"
Linux: Use sth like:
vlc alsa://plughw:0,0
On Linux if you need to stream also video remember to separate all the options with ":" . In this case I am streaming the usb cam with the default alsa microphone.
cvlc v4l2:///dev/video0 :v4l2-standard=ALL :input-slave=alsa://hw:0,0 :live-caching=300 ':sout=#transcode{vcodec=mp4v,vb=3500,width=1920,height=1080,acodec=mp3,ab=192,channels=2,samplerate=44100}:http{mux=ts,dst=:8080/}'
Just my input on Linux. This works across the Internet as well
Get the mic device id
arecord -l
Streams to port 8080. Just remember on your router to put a port forward to this server
vlc alsa://plughw:1,0 --sout='#transcode{vcodec=none,acodec=mp3,ab=256,channels=2,samplerate=44100,scodec=none}:http{mux=mp3,dst=:8080/}' --no-sout-all --sout-keep
Hi
I am setting up HTTP live streaming for iOS. It is a RTSP stream that I will get on UDP and pass it on to the MediaStreamSegmenter. My questions are:
-Do I need a Mac based server so that mediastreamsegmenter tool can actually do it job? If yes then do I have any alternatives?
-Can pass a remote machine address to mediastreamsegmenter to store the segmented files and Index file?
I cant really afford a server and a Mac server for that matter....
Replies appreciated.
You don't need a Mac server. In fact, if you use Amazon S3, you can combine that with cloudfront to do RTMP streaming of your files from S3 to the user. check it out: http://aws.amazon.com/cloudfront/#highlights
You can simply pass the stream address to the media stream segmenter, and you're good to go.
I found a cheap and easy way of doing it using VLC player. I had to compile VLC for this but you can look for latest nightly builds to get the LIVEHTTP plugin.
I would like to implement HTTP live streaming for iPhone/iPad. I am following the apple standards and tools for same.
As of now my video source is one giving me live video from rtsp://123.123.123.123:554/mpeg4 (sample IP). but as HTTP live streaming and mediastreamsegmenter required to pass source over UDP network so i have twisted way bit.
So that i have used VLC player and first stream RTSP to UDP.
For example, i have stream video source from rtsp://123.123.123.554/mpeg4 and redirected it to
udp://#123.123.123.17:1234 (sample ip). i have tested this with two instance of VLC on same machine to check whether live streaming is played or not. it is working fine on VLC.
now I am user MAC OS 10.6.x (Snow leopard). and use latest tools (downloaded from Apple) fro HTTP Live Streaming
I am executing the following command from terminal
mediastreamsegmenter -b http://demo.dummy.com/stream -s 3 -D -f /Desktop/StreamParts 123.123.123.17:1234
here
http://demo.dummy.com/stream - server
/Desktop/StreamParts - Local Folder for saving .ts files
123.123.123.17:1234 - UDP url (from where live streaming is done)
But the problem is when i execute this command. it is giving me error like
no start access unit
error in pid 44(video) -- cc value should be 9 is 10, 1 is 2, 5 is 6, etc.
any idea? what is going wrong here? and what this error message is showing?
My hunch would be that the transport is incompatible. Apple's tools (i.e. mediastreamsegmenter) are expecting an MPEG2 transport stream over UDP, not just RTSP sent over UDP. The problem I have, which I'm afraid will be your next question, is how to correctly generate a MPEG2 transport stream.