Jump to Navigation

Codecs discussion and summary

=== CODECS WORKSHOP ===

codecs discussion - why choose common ones? what are the best choices to make and what are the considerations?

areas of consideration -
terminology
free and open source or proprietary
playback
encoding
streaming
integration
documentation

TERMINOLOGY

container format : wrapper code around audio and video streams that can also contain metadata
- eg. .mov is a Quicktime format that contains header information to wrap the audio and video streams and deliver them to the Quicktime player in a way that it will understand

("format" can also refer to other things like resolution - Standard Definition or High Definition, or program format - like current-affairs or feature documentary)

codec : the compression algorithm used to compress (or encode) the video on one side and decompress (or decode) it on the other - the player side

there all kinds of codecs - made for animation, video editing - only considering the choices that seem obvious - mpeg4 based video codecs, h264 and theora

standards : such as produced by the Motion Pictures Experts Group - who set standards like mpeg1 (VCD), mpeg2 (DESIGNED FOR DVD AND TV BROADCAST), and mpeg4 (DESIGNED FOR STREAMING VIDEO FOR PCS AND OTHER DEVICES) which are different generations of standards for video and audio encoding with specifications for different applications

PLAYBACK

considerations:
- on-demand (download) or streaming (using a streaming server)
- CPU load - older codecs use less CPU resources than newer codecs which are resource hungry. however if your audience has broadband they are likely to have a computer which is new enough to handle the newer codecs
- ubiquity or non-ubiquity - how widely supported is the codec? how many people will have the codec already installed?
- VLC is the answer to this - a virtually "universal" player which supports most formats and codecs, open source. does not support Real or Windows Media.
mpeg1 - good for older systems, is used on VCDs, but in a specific setting
mpeg2 - also very widely supported by most player applications

archiving formats? - don't use DVD - is reccommendation from archiving experts. better to archive on DV TAPE.

for me flash - the proprietary choice for greatest ubiquity - good for web preview
xvid and mp3 - the most supported choice for open source
ogg theora and vorbis - the most open source alternative with no patent restrictions

ENCODING

considerations:

client-side encoding - client application
proprietary such as Cleaner, Compressor, CoderPro?
open-source such as Virtual Dub for PC, ffmpeg and mencoder for Linux
shareware such as GUI for ffmpeg and mencoder called FFMEGX for Mac OS X

advantage of using encoding application instead of editing program export is that you can do Batch encoding and have more options

dis-advantage of using encoding application is that you need to learn another program, and too many options confuse people

PROS

distributed use of computing power, lower cost for provider

CONS

steep learning-curve will deter many people from encoding their own material

server-side encoding - auto transcoding on upload

- such as archive.org which autotranscodes to two different mpeg4 encodes
- use mencoder as jaromil showed us with a script that runs like a watch folder on directories looping and waiting to encode files that are uploaded
- gerbrand - debalie, dump dv files on server
mencoder ffmpeg2theora inc. animated gifs

PROS

easy for end user - no need for encoding knowledge

CONS

- heavy use of server CPU
- or need for queuing so a delay
- need to have dedicated server to transcode

Possible Solutions:

- transcoder-uploader solution which takes care of encoding using one preset, and also uploading with metadata. requires download of client to user's computer. also has not been built yet
- SINGLE - BUTTON PRE-DEFINED GUI FOR COMMAND LINE - UNIQUE ID - needs to be built. could be made specifically for indymedia, and for other projects all using mencoder as a basis, but packaged up for different platforms
- easy tutorials for simple encoding like QuickTime EXPORT FOR I -POD, or straight from NLE (editing program)
- transcoding gui / uploader-transcoder app should create unique IDs at the same time, and format metadata to our agreed standards

other interesting solutions:
VIDEO EGG - SHORT UPLOAD FOR FLASH FILES. transcodes to flash and uploads to big video sites

streaming

gerbrand debalie - h264 streaming server, theora icecast

peercast?? - no good experiences

benUK - - live streams only for events

zoe - - ifiwatch.tv could be interested in using streaming for direct answer from experts or affected communities to streamed meetings with world bank on other side of the world. just an idea..very much narrow casting... is it feasible? anyone want to help experiment with this? could be only audio only to start

gavin exequo - - glastonbury - stream getting bigger and bigger, also on-demand archive on after live stream - ASF
- bbc - mulitcast trial all terrestrial tv to ISPs in the UK
- live stream for resonance
- depends on the content if you want to do streaming, do live streaming

INTEGRATION

embedded players - using plugins for browsers such as Quicktime or windowsmedia plugin - you need the plugin
most widely supported choice is flash, which is why the big video sites are using it
talked about using flash in webpages
- create an .flv using ffmpeg or ffmpegX and then use a .swf to play the video back - don't need a flash server
cortado - a java applet that will play back theora in the browser.

DOCUMENTATION

people need to have documentation for audiences to watch and producers to encode

holmes raised the issue that it needs to be Very SImple for people to encode their video in a small number of steps. a need for this documentation for iMovie etc.

mickfuzz documentation - ourvideo and clearerchannel.org
adam hyde documentation - FOSS manuals and streaming suitcase
docs.indymedia.org
video.indymedia.org wiki documentation - links to subtitles info too
jaromil document - PDF of research - on media server
doom9.net - dvd ripping community
videohelp.com - forum and guides