[CentOS] recommended methods/software for videocasting
John R Pierce
pierce at hogranch.com
Thu Oct 8 17:16:38 UTC 2015
On 10/8/2015 3:09 AM, ken wrote:
> An acquaintance is considering videocasting speakers at a conference
> and using a Twitter product called Periscope. I'd like to recommend
> an open source solution. While I've never offered videos over the
> web, I have made audios available, and all it entailed was placing the
> file on the website and putting its url on a visible webpage. I
> wouldn't think any more than that is required for video. True?
video files are too big for that model. an hour long video of medium
good quality is often 1GB. you want a 'player' that runs within
browsers, probably using HTML5 as Flash is awful. to feed this, you
need a streaming protocol that knows how to throttle the video to a
suitable data rate for the clients actual connection, and lets the
viewer random hop to arbitrary points in the video stream without having
to download the whole file before playing. FOSS html5 video
streaming servers exist but aren't easy to setup. nginx has a plugin for
this.
anyone streaming video for a significant number of viewers ends up
having to get involved with a content delivery network, or they get
killed with uplink speed requirements. even 10 concurrent viewers of
medium quality video can peg a 100baseT uplink, and most hosting
providers will start charging transit fees per gigabyte if this happens
too often.
> "Live" videocasting is likely a different animal. How is this
> accomplished?
painfully, and usually via proprietary transports.
>
> Also, which video formats are recommended-- FOSS of course preferred,
> but a FOSS format for which there are readily available client apps on
> the major platforms (MS, Android, OSX, Linux).
with video files/streams you have 3 elements. the container format,
the video codec, and the audio codec. while some container formats,
like MKV, are open source, the codecs they contain rarely are, all the
MPEG formats use patents, and its a tangled mess. MP4 h.264/x.264 aka
AVC is probably the best compromise format for video quality and size.
h.265/HEVC is even better but fewer clients can play it. audio is
usually AAC, AC3, or MP3, all of which are patent encumbered. There
are what I personally consider 'screwball' open source codecs like the
Ogg family, and then there's the WebM streaming format used by html5, of
which I know very little.
I finally came to the conclusion that the best way to host videos on a
website was to load them onto vimeo or youtube, and embed their player
html in your webpage, let THEM deal with the streaming aspects and
bandwidth.
--
john r pierce, recycling bits in santa cruz
More information about the CentOS
mailing list