logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
tony marone  
#1 Posted : Wednesday, October 3, 2012 6:57:48 AM(UTC)
tony marone

Rank: Advanced Member

Groups: Registered
Joined: 1/16/2010(UTC)
Posts: 50
Man
Location: usa

Was thanked: 3 time(s) in 2 post(s)
Hi Martin,

Can vMix receive a UDP transport stream? Could this feature be added? That way, I could input the stream from my Teradek Cube or Bond into the video mixer without having to use a Cube decoder. VLC media player can receive UPD network streams.

I am testing out your new version 8 right now. Looking great!!

Tony Marone
admin  
#2 Posted : Thursday, October 4, 2012 12:55:24 AM(UTC)
admin

Rank: Administration

Groups: Administrators
Joined: 1/13/2010(UTC)
Posts: 5,153
Man
Location: Gold Coast, Australia

Was thanked: 4146 time(s) in 1491 post(s)
It would be possible to implement.
I'm guessing you require RTP support which I believe is the underlying protocol the Teradek devices support.

The only issue would be the H264 codec as the Teradek receivers are finely tuned to provide as little latency as possible.
The H264 codecs provided with Windows on the other hand would probably see a latency around the half a second mark.

Regards,

Martin
vMix
kkr  
#3 Posted : Thursday, October 4, 2012 6:42:11 AM(UTC)
kkr

Rank: Member

Groups: Registered
Joined: 5/11/2012(UTC)
Posts: 23
Man
Location: Norway

Thanks: 2 times
Was thanked: 6 time(s) in 2 post(s)
Hi Martin,

I guess this implementation (RTP/RTSP H264 AAC for Teradek Cube) with little or no modification
would take care of a waste majority of new IP-cameras as well?? (My question from yesterday)

I have also looked at the Cube product, and consider it an option in the future for roaming cameras
(if/when I get paid for these productions :-)

Any guess for a timeframe for this development?

Best regards
Kjetil
tony marone  
#4 Posted : Thursday, October 4, 2012 12:01:26 PM(UTC)
tony marone

Rank: Advanced Member

Groups: Registered
Joined: 1/16/2010(UTC)
Posts: 50
Man
Location: usa

Was thanked: 3 time(s) in 2 post(s)
Hi Martin,

I don't really care about the latency because this would be to bring in an outside broadcast. We can deal with the latency that this might add.

Tony
dundurs  
#5 Posted : Friday, October 5, 2012 4:22:59 AM(UTC)
dundurs

Rank: Advanced Member

Groups: Registered
Joined: 3/24/2011(UTC)
Posts: 273

Thanks: 8 times
Was thanked: 45 time(s) in 22 post(s)
Correct me if Im wrong, but isnt multicast usualy used for UDP transport streams? Which would imply either having a camcorder close to vMix or a VLAN connection between vMix and camcorder.
If previously stated is true, why not to implement RTSP ingest better, whch would open up possibilities to ingest from Teradek as well as from many network cameras (such as Axis)?

BR,
Dundurs
admin  
#6 Posted : Friday, October 5, 2012 4:47:26 AM(UTC)
admin

Rank: Administration

Groups: Administrators
Joined: 1/13/2010(UTC)
Posts: 5,153
Man
Location: Gold Coast, Australia

Was thanked: 4146 time(s) in 1491 post(s)
My understanding is RTP is the UDP transport stream protocol being used by the Teradek and other cameras.
RTSP on the other hand is just the control protocol for network cameras so you can select a stream and format etc.

In the case of Teradek, RTP is all that is needed as you can set a fixed format and a fixed PC to send the stream to.

RTSP would not be that difficult to add once RTP is up and running.

Regards,

Martin
vMix
dundurs  
#7 Posted : Friday, October 5, 2012 5:08:32 AM(UTC)
dundurs

Rank: Advanced Member

Groups: Registered
Joined: 3/24/2011(UTC)
Posts: 273

Thanks: 8 times
Was thanked: 45 time(s) in 22 post(s)
I think multicast method (transport stream) uses UDP only, while unicast (RTSP/RTP) uses TCP mostly, since UDP traffic might be firewalled, but I might be wrong.
kkr  
#8 Posted : Friday, October 5, 2012 4:37:14 PM(UTC)
kkr

Rank: Member

Groups: Registered
Joined: 5/11/2012(UTC)
Posts: 23
Man
Location: Norway

Thanks: 2 times
Was thanked: 6 time(s) in 2 post(s)
Hi,

With my limited knowledge I think Martin has the correct approach.

RTSP is just controlling a few simple tasks like define the protocol/ports and some simple commands to setup, start and control the stream. (similar to http, using just simple text commands)

RTP is the real transport protocol for audio/video also defining the payload format (H264, MPEG-4, MJPEG, MP3, AAC etc.)
(RTCP is a complimentary to RTP and is as far as I know not needed, it handle some control of the transport including continues QoS evaluation)

Due to the nature of streaming (time is critical) the transport protocol, both unicast and multicast defaults to the more "lightweight" UDP, but unicast can also be used over TCP and even tunneled through http (for really easy firewall passing)

At the moment RTSP/RTP is the most common standard for low-end streaming devices, and some mid/high-end like the Cube ;-)

I think if vMix was implemented with RTP (H264, AAC) unicast over UDP and added RTSP as Martin suggests, more than 50% of all new streaming devices would be covered!??
Then later maybe functions like other formats, TCP and multicast can be added (if desired)
(more or less all the feature are impimented if you download/buy a full library with examples, and don't write all from scratch)


Best regards
Kjetil

PS. A quick search gave a few open source libs like LIVE555 (if you are into opensource??) and lots of proprietary
ber142  
#9 Posted : Saturday, October 6, 2012 11:32:15 AM(UTC)
ber142

Rank: Advanced Member

Groups: Registered
Joined: 12/2/2011(UTC)
Posts: 77
Location: Europe / The Netherlands

Was thanked: 4 time(s) in 4 post(s)
Hi,

+1 for this idea

In our sports centre we have an IP CAM right above the playfield. To get it in VMix, we have an extra machine to convert the RTSP signal to RTMP.

So, it would be a very nice if we can do this directly in VMIX. With that it would be possible to decrease the delay.

Regards, Hanno.
Steadirob  
#10 Posted : Wednesday, October 10, 2012 12:47:17 AM(UTC)
Steadirob

Rank: Advanced Member

Groups: Registered
Joined: 8/23/2012(UTC)
Posts: 71
Location: Bangkok

Thanks: 1 times
Was thanked: 2 time(s) in 2 post(s)
+1for me.

I was just trying this on my computer and VLC loads the stream without issue. In the Media Info from VLC i see the following stream:
rtsp://172.16.0.4:554/stream1

This is the default notation for a wireless stream, the wired stream would just be a different ip address.

Can you include this option in your program?

Thanks,
Rob
TeradekChris  
#11 Posted : Saturday, October 13, 2012 10:03:09 PM(UTC)
TeradekChris

Rank: Newbie

Groups: Registered
Joined: 10/13/2012(UTC)
Posts: 1
Location: California, USA

Hi all, I've had my eye on vMix for a while and have passed on the link to some customers of ours who've asked about streaming solutions, and I joined the forum just to reply to this thread (and hi Steadirob, nice to see you here)! :-)

We've had a couple requests recently for recommendations on a product that match the original request from tony marone; a <competing product to vMix, so not mentioned by name since I don't know the forum rules and what's taboo ;-) > doesn't support receiving MPEG Transport Stream and they've asked about using our Cube / Bond or Cube / Link combination in just this type of setup -- bringing in remote feeds from off network (mobile/3G/4G connections) to be mixed at a central location before pushing off to a CDN or streaming service provider.

Just a quick clearing up -- Cube supports RTP in a few different streaming protocols, and also MPEG Transport Stream. Some of these use UDP, some TCP. Summary here:

=== BEGIN boring technical stuff ===

RTMP (aka Flash streaming) -- this is a "push" connection where Cube will connect to the CDN and send back audio/video; its configuration is similar to that seen in Adobe Flash Media Live Encoder where you specify a URL (CDN server and port) and stream name. This should work with Flash Media Server, Wowza Media Server, and other products supporting the RTMP streaming protocol. This streaming method is included by default and no special license is required on Cube to use this streaming method. Cube also has a built-in RTMP server that a test client app on the Cube can connect to, but you should be able to pull directly from that -- perhaps directly into vMix since it says it accepts RTMP sources?

RTSP/RTP - this is a "pull" connection where the client/media server/CDN requests the stream from Cube and Cube sends back audio/video. This streaming method is included by default and no special license on Cube is required to use this streaming method. This can be a combination of TCP and UDP-based (RTSP over TCP for control, audio/video sent back to client on UDP ports) or TCP only (aka RTSP Interleaved, in which control, audio and video is all sent from a single outbound client-initiated connection over TCP)

HTTP Live Streaming (aka HLS) -- this is a "pull" connection where Cube acts as a server to provide an HTTP Live stream for the CDN/media server/client to connect to and receive audio/video. This streaming method is included by default and no special license on Cube is required to use this streaming method.

RTP Push (aka "Manual Unicast" in QuickTime Broadcaster terminology) -- this is a "push" connection where you configure Cube with your desired audio/video settings, download an SDP file from Cube and make that available on your CDN or media server. Cube will automatically push audio/video to the CDN/server when powered on without waiting for a request. Any changes made to audio/video settings require you to download a new SDP file from Cube and place it on your CDN/server. This streaming method is unlocked with a free license key available on our forums at http://forum.teradek.com...topic.php?f=3&t=260. This is UDP-based and doesn't involve the TCP protocol for streaming.

RTSP Announce (aka "Automatic Unicast" in QuickTime Broadcaster terminology) -- this is a "push" connection where Cube will connect to the CDN/server and send back audio/video; no SDP file is required, so settings may be changed on the Cube very easily. This streaming method is unlocked with a free license key available on our forums at http://forum.teradek.com...wtopic.php?f=3&t=260 . This is a TCP-based protocol.

MPEG Transport Stream -- this is a standards-compliant MPEG Transport Stream with H.264 video compression and MPEG-2 or AAC audio compression. This is a "push" connection where Cube will connect to the CDN/server and send back audio/video on a user-configurable port. This is an optional paid license. This can be UDP-based (for either Unicast stream or Multicast streams) or TCP-based (for communication between Teradek products).

=== END of boring technical stuff ===

With our Sputnik server (used with Bond or Link) we can either push out RTMP to a single remote destination, or if the original incoming stream from our products is MPEG Transport Stream then we can push out MPEG Transport Stream (Unicast over UDP or TCP, or Multicast over UDP if Sputnik resides on a local network). We can also accept clients that connect over a TCP socket to pull down MPEG Transport Stream remotely from Sputnik so you can use free players like VLC Media Player to monitor the feed coming through.

If you go direct from Cube you have additional streaming methods; the easiest integration may come from implementing RTP/RTSP as others have recommended but that would require vMix to reach out to the Cube and wouldn't help with tony marone's request, although it may help with the remote ingest that <competing product> can't do even though I see requests on their forums going back at least a year.

Martin, I'd love to have closer integration of our products with vMix so we have an alternative to suggest to Windows-based customers.

Maybe start with the RTMP server functionality built into Cube to see how vMix pulls it in for LAN use since the functionality is already present in both products?

A next step might be RTP/RTSP support so you could work with many of the other security cameras and products using that streaming format, and then perhaps consider MPEG Transport Stream for ingest and output? You could then have your product used to mix multiple cameras and have somebody send out a stream that could be received by inexpensive set top boxes that also accept MPEG Transport Stream.

Lots of possibilities! :-)
admin  
#12 Posted : Sunday, October 14, 2012 5:36:33 AM(UTC)
admin

Rank: Administration

Groups: Administrators
Joined: 1/13/2010(UTC)
Posts: 5,153
Man
Location: Gold Coast, Australia

Was thanked: 4146 time(s) in 1491 post(s)
Hi Chris,

Thanks for the detailed information provided!
It sounds like RTSP/RTP is the best option to implement and will cover the majority of use cases. While RTMP is already supported in vMix
it depends on the ActiveX FlashPlayer and as a result is not as robust as I would like.

I would most likely go with the RTSP control + UDP push approach rather than interleaved as it sounds a lot easier to implement.

The next step now is to purchase a Teradek Cube and start developing, work will probably commence within the next couple of months.

Regards,

Martin
vMix
admin  
#13 Posted : Saturday, January 12, 2013 2:33:31 AM(UTC)
admin

Rank: Administration

Groups: Administrators
Joined: 1/13/2010(UTC)
Posts: 5,153
Man
Location: Gold Coast, Australia

Was thanked: 4146 time(s) in 1491 post(s)
Hi All,

As an update, RTSP (And Teradek Cube) support for vMix is about 40% complete.
H264 support has been implemented and is currently being tested. The next steps are audio support and audio/video sync.

I'm using the Intel H.264 Decoder which supports low latency applications, with this method I have seen decoder latency under 200ms.
(For a 1080 25p stream)

Regards,

Martin
vMix
kkr  
#14 Posted : Saturday, January 12, 2013 9:20:49 AM(UTC)
kkr

Rank: Member

Groups: Registered
Joined: 5/11/2012(UTC)
Posts: 23
Man
Location: Norway

Thanks: 2 times
Was thanked: 6 time(s) in 2 post(s)
Perfect!!

200ms is less than any other converting solutions for IP Cameras (or RTMP for that matter) I have tested for vMix input :-)
(CPU intensive?)

If you need test streams from an Vivotek IP Camera (or two) (full HD or ...), just tell me and I will hook it up to the Internet.

Great work!
Looking forward to the first test :-)

Best regards
Kjetil
Grimble  
#15 Posted : Saturday, January 12, 2013 12:35:39 PM(UTC)
Grimble

Rank: Advanced Member

Groups: Registered
Joined: 8/9/2012(UTC)
Posts: 58

Was thanked: 2 time(s) in 2 post(s)
Hi Martin,

Any chance you'll be able to implement video delay on the RTSP inputs? It'd be useful for me (I'd switch from RTMP to RTSP for that feature), and probably for others, like the above court camera mentioned above.

Thanks!
Andrew.
Users browsing this topic
Guest
Similar Topics
Multicast UDP Transport Streams (Feature Requests)
by stevespaw 9/9/2016 9:43:18 AM(UTC)
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.