SlideShare uma empresa Scribd logo
1 de 4
Video Streaming Software
VLC http://www.videolan.org/vlc/
VideoLAN Client is a cross-platform media player and streaming server.

       “VLC (initially VideoLAN Client) is a highly portable multimedia player for
       various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, mp3,
       ogg, ...) as well as DVDs, VCDs, and various streaming protocols. It can also
       be used as a server to stream in unicast or multicast in IPv4 or IPv6 on a high-
       bandwidth network.”

VLC works like a media player, but has had the ability to stream output bolted on. To
stream output you define the command line as a huge ‘chain’ telling the program what
to do at each step.

Eg: to stream a file from disk, convert the video to MPEG-4 (1024kb/s), the audio to
MPEG audio (not MP3 however, at 192kb/s) and send it via udp to the the all-hosts
multicast address, you’d do something like:

vlc Y:002-That-guy-stole-my-shoes.mpg
--sout=”#transcode{vcodec=mp4v,vb=1024,scale=1,acodec=mpga,ab=192,cha
nnels=2}” --duplicate
“{dst=std{access=udp,mux=ts,url=[ff02::1]:1234}}”

VLC shows its media player roots by only allowing one processing one video at a
time. So if you wanted to stream several (different) video sequences at the same time,
you’d need to run VLC several times. This doesn’t apply to outputs so much – VLC
can stream to multiple hosts using IPv4/v6 multicast and do this using several
protocols at one: you could be streaming to a one multicast group using raw udp,
another using mms, another using rtp etc. But still the original video is the same.

VLC does support a large amount of input types (V4L, PVR, file, UDP etc), formats
(AVI, MPEG, QT) and codecs (MPEG-1/2/-4, DivX, Cinepak etc), the ability to
transcode from one format to another, and many different output protocols (udp, mms,
http, rtp, file etc). Supporting all these formats does have a cost though – there are a
huge number of dependencies required to compile/install VLC. This makes compiling
with the features you want very difficult.

VLS http://www.videolan.org/streaming/
VideoLAN Server was the original streaming solution from VideoLAN. It is no
longer in active development, as focus has changed to further developing VLC.

VLS has does not have as good support for codecs, containers and outputs as VLC
does. VLS mainly supports MPEG-based formats such as -2 PS and TS and -4. The
outputs are also limited – only MPEG-2 TS can be streamed via udp.

VLS is configured via a config file rather than by the command line. You define input
‘programs’ and output ‘channels’. Assuming you did not set some input/output
combinations to autoplay, you use the telnet interface to start programs by joining
them with an output channel. This config file allows VLS to stream multiple
files/inputs at the same time, rather than requiring multiple program instances like
VLC.

VLS does not support transcoding input formats. Only the V4L interface allows video
to be encoded. This only supports MPEG-2/4 and MP3.

When running VLS, the latest SVN branch should be used as this includes V4L
support – this was removed from VLS around v0.5 but is required to stream from
Video4Linux inputs.

Automake 1.4 does not work with the bootstrap program that comes with the SVN
version of VLS. When the final vls executable comes to being linked there are errors.
Upgrading to automake 1.6 (and autoconf too) allows the configure script to work
properly.

Windows Streaming Media Server
The Server
http://www.microsoft.com/windowsserver2003/technologies/winme
dia/default.mspx
This is the media server that is supplied with all versions (except 64-bit) of Windows
2003 server. It has an easy-to-use interface for administering the system, supports
video-on-demand and broadcasting (via multicast) of streams. It also supports IPv6.

The problem with it is that the system will on accept inputs that are in proprietary
Microsoft Windows Media formats. There is no support for MPEG whatsoever. This
is a problem if it is used with the Hauppauge PVR as the only thing it will produce is
a MPEG-2 TS. The system will also not transmit video directly from a DirectShow
input. However, the system supports an external video encoder – as long as the
encoder can export video in a Windows Media format via a HTTP-like interface the
server will accept it. However whenever tried with an encoder other than Windows
Media Encoder 9 it would refuse to connect using HTTP. The server can view streams
using the MMS protocol (which VLC can output), but will refuse to stream from an
MMS input.

Windows Media Encoder 9
http://www.microsoft.com/windows/windowsmedia/9series/encode
r/default.aspx
This encoder will support most video formats and transcode them to a Windows
Media format. The encoder can read from a file, another video stream, or from a
DirectShow device (eg a TV card). The encoder will then ‘push’ the output to a client
or to the Windows Streaming Media Server using either the MMS or HTTP protocol.
The encoder also supports MPEG inputs, although refused every file saved from the
PVR 350. It also refused to read from the device using the DirectShow interface.
Helix Universal Server http://www.realnetworks.com/products/
discreteserver/
This is the media server that is developed by RealNetworks, Inc. It is the most
professional-looking server tested and includes a huge amount of options, including
the broadcasting of adverts! The output formats are limited to proprietary Real
formats and protocols. As a result, the output ought to be viewable (only?) on their
RealPlayer software.

It does not support input from a capture device, nor does it support IPv6.

Darwin Streaming Server
http://developer.apple.com/darwin/projects/streaming/
This is the open source version of Apple’s QuickTime Streaming Server that allows
the transmission of streaming media to clients via the RTP and RTSP protocols.

There are few configuration options for DSS, and in fact I never got it to stream video
once… It also does not support capture from external devices (only file input) nor
does it support IPv6 or multicasting.

Apache http://httpd.apache.org/
Although primarily used as a web server, Apache can be easily used as a video-on-
demand (VOD) server for unicast clients with the help of the Mozilla VLC plugin.

HTTP provides the ability to seek within a file – this is normally used for resuming
broken downloads, but here can be used to seek within a video stream stored on the
web server. When the VLC plugin is embedded within a web page the user can view
the stream and use the controls to seek within it.

Both Mozilla (tested with v1.6) and Apache support IPv6. Apache needs to be
specially configured to support files >2GB as files made by the PVR 350 can easily
reach this size.

The plugin is very buggy and frequently crashes Mozilla. The plugin does not work
with Internet Explorer or other browsers. Also the seeking feature is lost when using
Windows Media Player using the HTTP interface.

SAP/SDP
The normal way for clients to subscribe to multicast services is by ‘connecting’ to that
address using VLC. As IP addresses (and especially v6 addresses) can be difficult to
remember, you can add a channel information service which makes connecting to
broadcasts easy. VideoLAN has implemented a channel information service based on
the SAP/SDP standard – the SAP announces are send via the network (multicasted)
saying which program is running on what address/port. On the client side, VLCs
receive these announces and automatically add the announced programs to their
playlists. The user then double-clicks on the program and can start watching
immediately.
VLC can send the SAP announces associated with the programs it is streaming. VLS
can’t do that but an independent program, the mini-SAP-server can send the
announcements for the programs sent by VLS.

Mais conteúdo relacionado

Mais procurados

SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best PracticesAshraf Fouad
 
History of L0phtCrack
History of L0phtCrackHistory of L0phtCrack
History of L0phtCrackcwysopal
 
BKK16-213 Where's the Hardware?
BKK16-213 Where's the Hardware?BKK16-213 Where's the Hardware?
BKK16-213 Where's the Hardware?Linaro
 
Lavigne bsdmag-jan13
Lavigne bsdmag-jan13Lavigne bsdmag-jan13
Lavigne bsdmag-jan13Dru Lavigne
 
BKK16-309A Open Platform support in UEFI
BKK16-309A Open Platform support in UEFIBKK16-309A Open Platform support in UEFI
BKK16-309A Open Platform support in UEFILinaro
 
BKK16-105 HALs for LITE
BKK16-105 HALs for LITEBKK16-105 HALs for LITE
BKK16-105 HALs for LITELinaro
 
2.4.0 software installation v2
2.4.0 software installation v22.4.0 software installation v2
2.4.0 software installation v2Acácio Oliveira
 
LAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community UpdateLAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community UpdateLinaro
 
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & ChromiumHKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & ChromiumLinaro
 
oVirt Extension API: The first step for fully modular oVirt
oVirt Extension API: The first step for fully modular oVirtoVirt Extension API: The first step for fully modular oVirt
oVirt Extension API: The first step for fully modular oVirtMartin Peřina
 
The Hybrid Theory of Classroom Capture
The Hybrid Theory  of Classroom CaptureThe Hybrid Theory  of Classroom Capture
The Hybrid Theory of Classroom CaptureEveretteGAllen
 
Beginning with Composer - Dependency manager in php
Beginning with Composer  - Dependency manager in php Beginning with Composer  - Dependency manager in php
Beginning with Composer - Dependency manager in php Yogesh Salvi
 
101 2.4a apend software installation v2
101 2.4a apend software installation v2101 2.4a apend software installation v2
101 2.4a apend software installation v2Acácio Oliveira
 
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...The New oVirt Extension API: Taking AAA (Authentication Authorization Account...
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...Martin Peřina
 
Dependency management in Xcode 11
Dependency management in Xcode 11Dependency management in Xcode 11
Dependency management in Xcode 11Boris Bielik
 
Subversion Best Practices
Subversion Best PracticesSubversion Best Practices
Subversion Best PracticesMatt Wood
 
SELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux UsersSELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux UsersDru Lavigne
 

Mais procurados (20)

SVN Usage & Best Practices
SVN Usage & Best PracticesSVN Usage & Best Practices
SVN Usage & Best Practices
 
History of L0phtCrack
History of L0phtCrackHistory of L0phtCrack
History of L0phtCrack
 
BKK16-213 Where's the Hardware?
BKK16-213 Where's the Hardware?BKK16-213 Where's the Hardware?
BKK16-213 Where's the Hardware?
 
Lavigne bsdmag-jan13
Lavigne bsdmag-jan13Lavigne bsdmag-jan13
Lavigne bsdmag-jan13
 
BKK16-309A Open Platform support in UEFI
BKK16-309A Open Platform support in UEFIBKK16-309A Open Platform support in UEFI
BKK16-309A Open Platform support in UEFI
 
LWdatasheet
LWdatasheetLWdatasheet
LWdatasheet
 
BKK16-105 HALs for LITE
BKK16-105 HALs for LITEBKK16-105 HALs for LITE
BKK16-105 HALs for LITE
 
2.4.0 software installation v2
2.4.0 software installation v22.4.0 software installation v2
2.4.0 software installation v2
 
Olf2012
Olf2012Olf2012
Olf2012
 
LAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community UpdateLAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community Update
 
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & ChromiumHKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
HKG18-217 - OpenCDM/CDMi (Multi DRM) work with WPE & Chromium
 
oVirt Extension API: The first step for fully modular oVirt
oVirt Extension API: The first step for fully modular oVirtoVirt Extension API: The first step for fully modular oVirt
oVirt Extension API: The first step for fully modular oVirt
 
The Hybrid Theory of Classroom Capture
The Hybrid Theory  of Classroom CaptureThe Hybrid Theory  of Classroom Capture
The Hybrid Theory of Classroom Capture
 
Beginning with Composer - Dependency manager in php
Beginning with Composer  - Dependency manager in php Beginning with Composer  - Dependency manager in php
Beginning with Composer - Dependency manager in php
 
101 2.4a apend software installation v2
101 2.4a apend software installation v2101 2.4a apend software installation v2
101 2.4a apend software installation v2
 
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...The New oVirt Extension API: Taking AAA (Authentication Authorization Account...
The New oVirt Extension API: Taking AAA (Authentication Authorization Account...
 
Dependency management in Xcode 11
Dependency management in Xcode 11Dependency management in Xcode 11
Dependency management in Xcode 11
 
OpenWRT and Perl
OpenWRT and PerlOpenWRT and Perl
OpenWRT and Perl
 
Subversion Best Practices
Subversion Best PracticesSubversion Best Practices
Subversion Best Practices
 
SELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux UsersSELF 2010: BSD For Linux Users
SELF 2010: BSD For Linux Users
 

Destaque

Realtime video streaming the open source way
Realtime video streaming the open source wayRealtime video streaming the open source way
Realtime video streaming the open source wayibelmonte
 
BeeCon2016 - Machine Learning & Alfresco: The perfect combination :-)
BeeCon2016 - Machine Learning & Alfresco: The perfect combination :-)BeeCon2016 - Machine Learning & Alfresco: The perfect combination :-)
BeeCon2016 - Machine Learning & Alfresco: The perfect combination :-)Cristina Martín Ruiz
 
Hls за час
Hls за часHls за час
Hls за часvolegg
 
Http Live Streaming Intro
Http Live Streaming IntroHttp Live Streaming Intro
Http Live Streaming IntroVonbo
 
Using Erlang in an Embedded and Cross-Compiled World
Using Erlang in an Embedded and Cross-Compiled WorldUsing Erlang in an Embedded and Cross-Compiled World
Using Erlang in an Embedded and Cross-Compiled WorldFrank Hunleth
 
Building a Network IP Camera using Erlang
Building a Network IP Camera using ErlangBuilding a Network IP Camera using Erlang
Building a Network IP Camera using ErlangFrank Hunleth
 
Streaming Media Server Setup Manual
Streaming Media Server Setup ManualStreaming Media Server Setup Manual
Streaming Media Server Setup ManualWilliam Lee
 
Http live streaming technical presentation
Http live streaming technical presentationHttp live streaming technical presentation
Http live streaming technical presentationBuddhi
 
Embedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBotsEmbedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBotsFrank Hunleth
 

Destaque (9)

Realtime video streaming the open source way
Realtime video streaming the open source wayRealtime video streaming the open source way
Realtime video streaming the open source way
 
BeeCon2016 - Machine Learning & Alfresco: The perfect combination :-)
BeeCon2016 - Machine Learning & Alfresco: The perfect combination :-)BeeCon2016 - Machine Learning & Alfresco: The perfect combination :-)
BeeCon2016 - Machine Learning & Alfresco: The perfect combination :-)
 
Hls за час
Hls за часHls за час
Hls за час
 
Http Live Streaming Intro
Http Live Streaming IntroHttp Live Streaming Intro
Http Live Streaming Intro
 
Using Erlang in an Embedded and Cross-Compiled World
Using Erlang in an Embedded and Cross-Compiled WorldUsing Erlang in an Embedded and Cross-Compiled World
Using Erlang in an Embedded and Cross-Compiled World
 
Building a Network IP Camera using Erlang
Building a Network IP Camera using ErlangBuilding a Network IP Camera using Erlang
Building a Network IP Camera using Erlang
 
Streaming Media Server Setup Manual
Streaming Media Server Setup ManualStreaming Media Server Setup Manual
Streaming Media Server Setup Manual
 
Http live streaming technical presentation
Http live streaming technical presentationHttp live streaming technical presentation
Http live streaming technical presentation
 
Embedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBotsEmbedded Erlang, Nerves, and SumoBots
Embedded Erlang, Nerves, and SumoBots
 

Semelhante a Video streaming software

Multimedia in Higher Education
Multimedia in Higher EducationMultimedia in Higher Education
Multimedia in Higher Educationlearning20
 
Building A Streaming Apple TV App (CocoaConf DC, Sept 2016)
Building A Streaming Apple TV App (CocoaConf DC, Sept 2016)Building A Streaming Apple TV App (CocoaConf DC, Sept 2016)
Building A Streaming Apple TV App (CocoaConf DC, Sept 2016)Chris Adamson
 
Mpeg guide
Mpeg  guideMpeg  guide
Mpeg guidekimsach
 
Multimedia in Higher Education
Multimedia in Higher EducationMultimedia in Higher Education
Multimedia in Higher Educationlearning20
 
Linux Servers.pptx
Linux Servers.pptxLinux Servers.pptx
Linux Servers.pptxChSheraz3
 
Windows7: Video Improvements
Windows7: Video ImprovementsWindows7: Video Improvements
Windows7: Video Improvementswonderu
 
Video Streaming: Broadcast quality on a shoe string budget.
Video Streaming: Broadcast quality on a shoe string budget.  Video Streaming: Broadcast quality on a shoe string budget.
Video Streaming: Broadcast quality on a shoe string budget. netc2012
 
Top 5 Television Broadcasting Software's
Top 5 Television Broadcasting Software'sTop 5 Television Broadcasting Software's
Top 5 Television Broadcasting Software'skurukshetra University
 
Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)
Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)
Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)Chris Adamson
 
Web 2.0 Media
Web 2.0 MediaWeb 2.0 Media
Web 2.0 Mediajrappold
 
YouTube Video Codecs
YouTube Video CodecsYouTube Video Codecs
YouTube Video CodecsMyspeedhub
 
Technology And Life
Technology And LifeTechnology And Life
Technology And LifeSunil Swain
 
Technology And Life
Technology And LifeTechnology And Life
Technology And LifeSunil Swain
 

Semelhante a Video streaming software (20)

FMS 3.5
FMS 3.5FMS 3.5
FMS 3.5
 
Multimedia in Higher Education
Multimedia in Higher EducationMultimedia in Higher Education
Multimedia in Higher Education
 
Building A Streaming Apple TV App (CocoaConf DC, Sept 2016)
Building A Streaming Apple TV App (CocoaConf DC, Sept 2016)Building A Streaming Apple TV App (CocoaConf DC, Sept 2016)
Building A Streaming Apple TV App (CocoaConf DC, Sept 2016)
 
11 streaming
11 streaming11 streaming
11 streaming
 
Mpeg guide
Mpeg  guideMpeg  guide
Mpeg guide
 
WEEK 1
WEEK 1WEEK 1
WEEK 1
 
Multimedia in Higher Education
Multimedia in Higher EducationMultimedia in Higher Education
Multimedia in Higher Education
 
Multimedia Streaming Architecture
Multimedia Streaming ArchitectureMultimedia Streaming Architecture
Multimedia Streaming Architecture
 
Linux Servers.pptx
Linux Servers.pptxLinux Servers.pptx
Linux Servers.pptx
 
BDPA Open Source 2012
BDPA  Open Source  2012BDPA  Open Source  2012
BDPA Open Source 2012
 
Windows7: Video Improvements
Windows7: Video ImprovementsWindows7: Video Improvements
Windows7: Video Improvements
 
Voice video different_platforms_v1
Voice video different_platforms_v1Voice video different_platforms_v1
Voice video different_platforms_v1
 
Video Streaming: Broadcast quality on a shoe string budget.
Video Streaming: Broadcast quality on a shoe string budget.  Video Streaming: Broadcast quality on a shoe string budget.
Video Streaming: Broadcast quality on a shoe string budget.
 
Top 5 Television Broadcasting Software's
Top 5 Television Broadcasting Software'sTop 5 Television Broadcasting Software's
Top 5 Television Broadcasting Software's
 
Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)
Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)
Building A Streaming Apple TV App (CocoaConf San Jose, Nov 2016)
 
Web 2.0 Media
Web 2.0 MediaWeb 2.0 Media
Web 2.0 Media
 
Dos presentation by ahlam shakeel
Dos presentation by ahlam shakeelDos presentation by ahlam shakeel
Dos presentation by ahlam shakeel
 
YouTube Video Codecs
YouTube Video CodecsYouTube Video Codecs
YouTube Video Codecs
 
Technology And Life
Technology And LifeTechnology And Life
Technology And Life
 
Technology And Life
Technology And LifeTechnology And Life
Technology And Life
 

Mais de Videoguy

Energy-Aware Wireless Video Streaming
Energy-Aware Wireless Video StreamingEnergy-Aware Wireless Video Streaming
Energy-Aware Wireless Video StreamingVideoguy
 
Microsoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresMicrosoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresVideoguy
 
Proxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video StreamingProxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video StreamingVideoguy
 
Free-riding Resilient Video Streaming in Peer-to-Peer Networks
Free-riding Resilient Video Streaming in Peer-to-Peer NetworksFree-riding Resilient Video Streaming in Peer-to-Peer Networks
Free-riding Resilient Video Streaming in Peer-to-Peer NetworksVideoguy
 
Instant video streaming
Instant video streamingInstant video streaming
Instant video streamingVideoguy
 
Video Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A SurveyVideo Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A SurveyVideoguy
 
Video Streaming
Video StreamingVideo Streaming
Video StreamingVideoguy
 
Reaching a Broader Audience
Reaching a Broader AudienceReaching a Broader Audience
Reaching a Broader AudienceVideoguy
 
Considerations for Creating Streamed Video Content over 3G ...
Considerations for Creating Streamed Video Content over 3G ...Considerations for Creating Streamed Video Content over 3G ...
Considerations for Creating Streamed Video Content over 3G ...Videoguy
 
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMINGADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMINGVideoguy
 
Impact of FEC Overhead on Scalable Video Streaming
Impact of FEC Overhead on Scalable Video StreamingImpact of FEC Overhead on Scalable Video Streaming
Impact of FEC Overhead on Scalable Video StreamingVideoguy
 
Application Brief
Application BriefApplication Brief
Application BriefVideoguy
 
Video Streaming Services – Stage 1
Video Streaming Services – Stage 1Video Streaming Services – Stage 1
Video Streaming Services – Stage 1Videoguy
 
Streaming Video into Second Life
Streaming Video into Second LifeStreaming Video into Second Life
Streaming Video into Second LifeVideoguy
 
Flash Live Video Streaming Software
Flash Live Video Streaming SoftwareFlash Live Video Streaming Software
Flash Live Video Streaming SoftwareVideoguy
 
Videoconference Streaming Solutions Cookbook
Videoconference Streaming Solutions CookbookVideoconference Streaming Solutions Cookbook
Videoconference Streaming Solutions CookbookVideoguy
 
Streaming Video Formaten
Streaming Video FormatenStreaming Video Formaten
Streaming Video FormatenVideoguy
 
iPhone Live Video Streaming Software
iPhone Live Video Streaming SoftwareiPhone Live Video Streaming Software
iPhone Live Video Streaming SoftwareVideoguy
 
Glow: Video streaming training guide - Firefox
Glow: Video streaming training guide - FirefoxGlow: Video streaming training guide - Firefox
Glow: Video streaming training guide - FirefoxVideoguy
 

Mais de Videoguy (20)

Energy-Aware Wireless Video Streaming
Energy-Aware Wireless Video StreamingEnergy-Aware Wireless Video Streaming
Energy-Aware Wireless Video Streaming
 
Microsoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_PresMicrosoft PowerPoint - WirelessCluster_Pres
Microsoft PowerPoint - WirelessCluster_Pres
 
Proxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video StreamingProxy Cache Management for Fine-Grained Scalable Video Streaming
Proxy Cache Management for Fine-Grained Scalable Video Streaming
 
Adobe
AdobeAdobe
Adobe
 
Free-riding Resilient Video Streaming in Peer-to-Peer Networks
Free-riding Resilient Video Streaming in Peer-to-Peer NetworksFree-riding Resilient Video Streaming in Peer-to-Peer Networks
Free-riding Resilient Video Streaming in Peer-to-Peer Networks
 
Instant video streaming
Instant video streamingInstant video streaming
Instant video streaming
 
Video Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A SurveyVideo Streaming over Bluetooth: A Survey
Video Streaming over Bluetooth: A Survey
 
Video Streaming
Video StreamingVideo Streaming
Video Streaming
 
Reaching a Broader Audience
Reaching a Broader AudienceReaching a Broader Audience
Reaching a Broader Audience
 
Considerations for Creating Streamed Video Content over 3G ...
Considerations for Creating Streamed Video Content over 3G ...Considerations for Creating Streamed Video Content over 3G ...
Considerations for Creating Streamed Video Content over 3G ...
 
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMINGADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
ADVANCES IN CHANNEL-ADAPTIVE VIDEO STREAMING
 
Impact of FEC Overhead on Scalable Video Streaming
Impact of FEC Overhead on Scalable Video StreamingImpact of FEC Overhead on Scalable Video Streaming
Impact of FEC Overhead on Scalable Video Streaming
 
Application Brief
Application BriefApplication Brief
Application Brief
 
Video Streaming Services – Stage 1
Video Streaming Services – Stage 1Video Streaming Services – Stage 1
Video Streaming Services – Stage 1
 
Streaming Video into Second Life
Streaming Video into Second LifeStreaming Video into Second Life
Streaming Video into Second Life
 
Flash Live Video Streaming Software
Flash Live Video Streaming SoftwareFlash Live Video Streaming Software
Flash Live Video Streaming Software
 
Videoconference Streaming Solutions Cookbook
Videoconference Streaming Solutions CookbookVideoconference Streaming Solutions Cookbook
Videoconference Streaming Solutions Cookbook
 
Streaming Video Formaten
Streaming Video FormatenStreaming Video Formaten
Streaming Video Formaten
 
iPhone Live Video Streaming Software
iPhone Live Video Streaming SoftwareiPhone Live Video Streaming Software
iPhone Live Video Streaming Software
 
Glow: Video streaming training guide - Firefox
Glow: Video streaming training guide - FirefoxGlow: Video streaming training guide - Firefox
Glow: Video streaming training guide - Firefox
 

Video streaming software

  • 1. Video Streaming Software VLC http://www.videolan.org/vlc/ VideoLAN Client is a cross-platform media player and streaming server. “VLC (initially VideoLAN Client) is a highly portable multimedia player for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols. It can also be used as a server to stream in unicast or multicast in IPv4 or IPv6 on a high- bandwidth network.” VLC works like a media player, but has had the ability to stream output bolted on. To stream output you define the command line as a huge ‘chain’ telling the program what to do at each step. Eg: to stream a file from disk, convert the video to MPEG-4 (1024kb/s), the audio to MPEG audio (not MP3 however, at 192kb/s) and send it via udp to the the all-hosts multicast address, you’d do something like: vlc Y:002-That-guy-stole-my-shoes.mpg --sout=”#transcode{vcodec=mp4v,vb=1024,scale=1,acodec=mpga,ab=192,cha nnels=2}” --duplicate “{dst=std{access=udp,mux=ts,url=[ff02::1]:1234}}” VLC shows its media player roots by only allowing one processing one video at a time. So if you wanted to stream several (different) video sequences at the same time, you’d need to run VLC several times. This doesn’t apply to outputs so much – VLC can stream to multiple hosts using IPv4/v6 multicast and do this using several protocols at one: you could be streaming to a one multicast group using raw udp, another using mms, another using rtp etc. But still the original video is the same. VLC does support a large amount of input types (V4L, PVR, file, UDP etc), formats (AVI, MPEG, QT) and codecs (MPEG-1/2/-4, DivX, Cinepak etc), the ability to transcode from one format to another, and many different output protocols (udp, mms, http, rtp, file etc). Supporting all these formats does have a cost though – there are a huge number of dependencies required to compile/install VLC. This makes compiling with the features you want very difficult. VLS http://www.videolan.org/streaming/ VideoLAN Server was the original streaming solution from VideoLAN. It is no longer in active development, as focus has changed to further developing VLC. VLS has does not have as good support for codecs, containers and outputs as VLC does. VLS mainly supports MPEG-based formats such as -2 PS and TS and -4. The outputs are also limited – only MPEG-2 TS can be streamed via udp. VLS is configured via a config file rather than by the command line. You define input ‘programs’ and output ‘channels’. Assuming you did not set some input/output combinations to autoplay, you use the telnet interface to start programs by joining
  • 2. them with an output channel. This config file allows VLS to stream multiple files/inputs at the same time, rather than requiring multiple program instances like VLC. VLS does not support transcoding input formats. Only the V4L interface allows video to be encoded. This only supports MPEG-2/4 and MP3. When running VLS, the latest SVN branch should be used as this includes V4L support – this was removed from VLS around v0.5 but is required to stream from Video4Linux inputs. Automake 1.4 does not work with the bootstrap program that comes with the SVN version of VLS. When the final vls executable comes to being linked there are errors. Upgrading to automake 1.6 (and autoconf too) allows the configure script to work properly. Windows Streaming Media Server The Server http://www.microsoft.com/windowsserver2003/technologies/winme dia/default.mspx This is the media server that is supplied with all versions (except 64-bit) of Windows 2003 server. It has an easy-to-use interface for administering the system, supports video-on-demand and broadcasting (via multicast) of streams. It also supports IPv6. The problem with it is that the system will on accept inputs that are in proprietary Microsoft Windows Media formats. There is no support for MPEG whatsoever. This is a problem if it is used with the Hauppauge PVR as the only thing it will produce is a MPEG-2 TS. The system will also not transmit video directly from a DirectShow input. However, the system supports an external video encoder – as long as the encoder can export video in a Windows Media format via a HTTP-like interface the server will accept it. However whenever tried with an encoder other than Windows Media Encoder 9 it would refuse to connect using HTTP. The server can view streams using the MMS protocol (which VLC can output), but will refuse to stream from an MMS input. Windows Media Encoder 9 http://www.microsoft.com/windows/windowsmedia/9series/encode r/default.aspx This encoder will support most video formats and transcode them to a Windows Media format. The encoder can read from a file, another video stream, or from a DirectShow device (eg a TV card). The encoder will then ‘push’ the output to a client or to the Windows Streaming Media Server using either the MMS or HTTP protocol. The encoder also supports MPEG inputs, although refused every file saved from the PVR 350. It also refused to read from the device using the DirectShow interface.
  • 3. Helix Universal Server http://www.realnetworks.com/products/ discreteserver/ This is the media server that is developed by RealNetworks, Inc. It is the most professional-looking server tested and includes a huge amount of options, including the broadcasting of adverts! The output formats are limited to proprietary Real formats and protocols. As a result, the output ought to be viewable (only?) on their RealPlayer software. It does not support input from a capture device, nor does it support IPv6. Darwin Streaming Server http://developer.apple.com/darwin/projects/streaming/ This is the open source version of Apple’s QuickTime Streaming Server that allows the transmission of streaming media to clients via the RTP and RTSP protocols. There are few configuration options for DSS, and in fact I never got it to stream video once… It also does not support capture from external devices (only file input) nor does it support IPv6 or multicasting. Apache http://httpd.apache.org/ Although primarily used as a web server, Apache can be easily used as a video-on- demand (VOD) server for unicast clients with the help of the Mozilla VLC plugin. HTTP provides the ability to seek within a file – this is normally used for resuming broken downloads, but here can be used to seek within a video stream stored on the web server. When the VLC plugin is embedded within a web page the user can view the stream and use the controls to seek within it. Both Mozilla (tested with v1.6) and Apache support IPv6. Apache needs to be specially configured to support files >2GB as files made by the PVR 350 can easily reach this size. The plugin is very buggy and frequently crashes Mozilla. The plugin does not work with Internet Explorer or other browsers. Also the seeking feature is lost when using Windows Media Player using the HTTP interface. SAP/SDP The normal way for clients to subscribe to multicast services is by ‘connecting’ to that address using VLC. As IP addresses (and especially v6 addresses) can be difficult to remember, you can add a channel information service which makes connecting to broadcasts easy. VideoLAN has implemented a channel information service based on the SAP/SDP standard – the SAP announces are send via the network (multicasted) saying which program is running on what address/port. On the client side, VLCs receive these announces and automatically add the announced programs to their playlists. The user then double-clicks on the program and can start watching immediately.
  • 4. VLC can send the SAP announces associated with the programs it is streaming. VLS can’t do that but an independent program, the mini-SAP-server can send the announcements for the programs sent by VLS.