video streaming using vlc player and amazon EC2 - amazon-ec2

I am using vlc and amazonEC2 for video streaming.
After creating instance in amazonEC2, i got below public DNS address
ec2-54-251-165-32.ap-southeast-1.compute.amazonaws.com
I trying to stream a video from local machine to 5009 udp port of above address by the help of udp.
In the vlc streaming wizard i given address as
ec2-54-251-165-32.ap-southeast-1.compute.amazonaws.com
udp port as
5009
Active transcoding as
video-H.264+AAC(TS)
And selected
stream all elementry streams
Now i trying to play streaming by using the help of vlc open network stream with following address
udp://#ec2-54-251-165-32.ap-southeast-1.compute.amazonaws.com:5009
video not playing, getting following error in vlc log
main error: socket bind error (Cannot assign requested address)
access_udp error: cannot open socket
main error: open of `udp://#ec2-54-251-165-32.ap-southeast-1.compute.amazonaws.com:5009' failed: (null)
When i try same procedure in local network its working properly, correct me where i doing wrong.
Thanks.

Alter the Security Group for the instance and open up the port 509 for UDP protocol for inbound and outbound traffic.
Refer to the official AWS Security Group documentation for more details.

Related

which port ffmpeg is using for streaming to a rtmp(or rtmps) server running in a cloud location

I am working with ffmpeg and rtmp camera streaming in a constrained environment.
I have rtmp server running on a cloud (say eg. 11.23.123.13 in port 1935 for rtmp & 4936 for rtmps).
However is there any port on sending end , i should request team to open to avoid blocking the stream sending from device end to rtmp server end(camera streaming end). Only port 443 is open in device where camera connected and ffmpeg commands are running.
It would be helpful if somebody give insights on how network is connecting from ffmpeg encoder to rtmp server
Getting the details how network is connecting from ffmpeg encoder to rtmp server?
Which ports to be open in device end(where camera connecting) to start ffmpeg streaming to rtmp server running on cloud?

RTSP Proxy for local accessed content archive

I have local access from one computer to RTSP server by my ISP which is delivering IPTV content archive (timeshift). RTSP is avilable only from this computer because it has correctly configured internet access to the server. Because I would like to watch the content of this RTSP server on every device at home, I'd like to create local server which would accept connections and just transfer data from the end server (by ISP) to client.
I already tried to configure Live555 RTSP Proxy, but it's not really the right software which would enable me what I need. Another thing I tried out is Darwin Streaming Server, but I think it wouldn't support the format of IPTV content archive. What do I actually need?
Link to ISP's content archive looks like: rtsp://archive.my-isp.tld:554/programme_id_channel.ts.
I would like to access to the same stream via rtsp://IP-of-my-computer:port/programme_id_channel.ts.
Is there any software which is acting like proxy and it would be possible to set it to my needs? I would really appreciate any answer and help.
P.S.: Type of ISP's stream is MPEG TS.
EDIT: I already tried out node-ffmpeg-mpegts-proxy and it works good for approximately 10 seconds, then I got some error from avconv about RTSP packet loss and stream stops. I would also need an option to seek video to wanted destination and with current setup (default options of avconv) of node-ffmpeg-mpegts-proxy. For the start I need something that will successfully stream video from source to destination.

Identify local (LAN) vs live URL FFmpeg

Hi I am using FFmpeg in my iOS app for stream local and live URL.
Is there any way to identify the URL which I am opening is local or live.
Actually I want to specify the rtsp_transport in avformat_open_input accordingly.
If I do not specify the transport its by default taking UDP.
In UPD I am losing packets in live stream.So i want to specify the transport TCP for live and default for local url.
Got the solution. I can not identify the URL is live or on lan but I can identify URL support protocol or not.
When you called avformat_open_input() for open an URL it return -43 if given protocol is not supported.
In my case I am opening URL with TCP so it works fine for live URL but for LAN I got error code -43 which is for unsupported protocol. Whenever I got the any error code regarding unsupported protocol I open the URL again with different protocol.

Which connection does that data stream use after VPN disconnects

I am wondering which connection gets stuck with the data charges in the following situation:
1 Windows 7 PC with default VPN connection active
- connect to video streaming service to watch a movie
- disconnect the vpn (stream keeps running)
Now, for some types of VPN you get charged for quantity of data and I am wondering if in the above situation the data used by the video stream is charged to the VPN. Is there a way to check?
Thanks!
Basically, as soon as you disconnect the VPN connection, traffics flow over your ISP but to make sure if it's still passing through your VPN gateway you can utilize tracert command on windows to get a trace of the route that packets take to reach the destination.
e.g. tracert www.hulu.com
You can also use an IP address instead of a DNS name.

switch between video streaming

I am struggling with switching between multiple live streams. For example, I have five live streaming servers streaming(HTTP or RTSP) and I want to put some broker between those (five) streaming sources and destination so that output to the destination would be one video streaming (later I may change the streaming source again using switch). Broker plays role of switcher, My question is, is there such open source "switcher"? Or how this technology works?
here is link to similar question but I want some open source or some brief guidance about how it could be implemented: http://forums.creativecow.net/thread/117/858680
Thank You in advance
That answer can be an archive for the researchers
First Suggestion or Solution(Multicast Router)
You can use a Router or L3 Switch which is support IGMP protocol. That Router or L3 Switch must support IGMP protocol you can structure multicast IP address. You can configure L3 to switch all streaming. Multicast Ip address works within 224.0.0.0 to 239.255.255.255 and works based on device' mac address. You can create different multicast Ip address for the different type of switching scenarios. After finished Router or L3 Switch configuration, you only change IP address to switch streaming into your program. (I didn't mention Broadcast. Broadcast send data to all points. Multicast send data to certain points.)
Second Suggestion or Solution(Programming)
I am using Vlc.Dotnet wrapper for using the Vlc and libvlc libraries. It's open source. RTSP streaming is based on IP address and port number. I don't know any open source switch but you can write one of them for you with use Vlc.dotnet wrapper. You build 5 Streaming server and 1 control server. The Streaming Server's destination should be Control Server's IP. and you can control all data from control server with your basic switch program.
5 Streaming Servers : Sends data to Control server
1 Control Server : Controls and Switches data
I prefer to use Router or L3 Switch for make that. Because it's easier.

Resources