Internetes médiakommunikáció Fájlformátumok és kodekek Takács György 8. előadás 2009. 04. 29. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 1 Fontos cél a kérdőív alapján! Hogyan csináljunk internetes műsorszórást! T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 2 T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 3 Hang és videó elérése a HTTP használatával • A HTTP lényegében egy fájl visszanyerési protokoll • Teljes fájlt kell letölteni a TCP miatt • Fájlformátumokat eleinte a helyi hozzáférésre tervezték – nagy fájlméretek – letöltés közbeni valós idejű lejátszásra alkalmatlanok T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 4 Mi köze ennek a fájlformátumhoz és a kodekhez? • A lejátszás megkezdése előtt a teljes fájl letöltődik. A lejátszáshoz szükséges valamennyi információ és erőforrás helyben a fogadó számítógépben egyeztetetten rendelkezésre áll. A tartalom lejátszható a kodekkel, menthető, rendezhető, szerkeszthető, átkódolható, sokszorosítható, árulható a tartalom tulajdonosának bevonása nélkül. • Bármely értelmes felhasználó által beszerezhető és legálisan birtokolható eszközzel a fentiekben felsorolt műveletek elvégezhetők. Vita esetén nehezen választhatók szét a saját, vagy oktatási célú felhasználások a kereskedelmi célú alkalmazásoktól. • Sűrű felhasználónál a hálózat túlterhelődik. • Hirtelen csatornaváltás nem lehetséges, még gigabites T.Gy. Intrernetes 5 hozzáférésnél sem! médiakommunikáció. 2009.04. 29. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 6 Folyam protokollok beépítése a webbe • Előzőek alapján HTTP helyett UDP alapú protokollok használata • folyam protokollok • gyorsan kezdi lejátszani és nagymértékben tömörít T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 7 Fájl formátumok There are many video file formats to choose from when creating video streams. The most common formats are: • Windows Media • RealMedia • Quicktime • MPEG (in particular MPEG-4) • Adobe Flash T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 8 • There are pros and cons for each format but in the end it comes down to personal preference. Be aware that many of your users will have their own preferences and some users will only use a particular format, so if you want to reach the widest possible audience you should create separate files for each format. In reality this isn't usually practical so you need to make a judgment call on which formats to provide. Obviously the better you understand all the options, the better your decision is likely to be. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 9 Downloading • When you download a file the entire file is saved on your computer (usually in a temporary folder), which you then open and view. This has some advantages (such as quicker access to different parts of the file) but has the big disadvantage of having to wait for the whole file to download before any of it can be viewed. If the file is quite small this may not be too much of an inconvenience, but for large files and long presentations it can be very off-putting. • The easiest way to provide downloadable video files is to use a simple hyperlink to the file. A slightly more advanced method is to embed the file in a web page using special HTML code. • Delivering video files this way is known as HTTP streaming or HTTP delivery. HTTP means Hyper Text Transfer Protocol, and is the same protocol used to deliver web pages. For this reason it is easy to set up and use on almost any website, without requiring additional software or special hosting plans. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 10 Streaming • Streaming media works a bit differently — the end user can start watching the file almost as soon as it begins downloading. In effect, the file is sent to the user in a (more or less) constant stream, and the user watches it as it arrives. The obvious advantage with this method is that no waiting is involved. Streaming media has additional advantages such as being able to broadcast live events (sometimes referred to as a webcast or netcast). • True streaming video must be delivered from a specialized streaming server. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 11 Progressive Downloading • There is also a hybrid method known as progressive download. In this method the video clip is downloaded but begins playing as soon as a portion of the file has been received. This simulates true streaming, but doesn't have all the advantages T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 12 Which Method to Use? • The method you choose will depend on your situation, but most people will opt for HTTP streaming (download or progressive download). This is the easiest and cheapest way to get started. If necessary you can upgrade to a streaming server later. • Still, you will want to understand both options so the next two pages of this tutorial look at each one in a bit more detail. After that we'll talk about how to create the actual video files. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 13 Streaming Video Servers • A streaming media or streaming video server is a specialized application which runs on an Internet server. This is often referred to as "true streaming", since other methods only simulate streaming. True streaming has advantages such as: • The ability to handle much larger traffic loads. • The ability to detect users' connection speeds and supply appropriate files automatically. • The ability to broadcast live events. • There are two ways to have access to a streaming server: • Operate you own server (by purchasing or leasing) • Sign up for a hosted streaming plan with an ISP (Internet Service Provider) T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 14 Operate your own server • To run your own streaming server, you can either purchase a standalone server machine or purchase a streaming server software package and install it on an existing web server. Streaming software is available for all common server platforms such as Linux, Windows, etc. • Some examples of streaming media software: • Helix Universal Server from RealNetworks. This server supports a variety of formats, including RealMedia, Windows Media, Quicktime and MPEG-4. • Apple Quicktime Streaming Server, supporting a few formats including MPEG-4 and 3GPP. • Macromedia Communication Server, specializing in Flash-based video and interactive multimedia T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 15 HTTP Streaming Video • For this method you don't need any special type of website or host — just a host server which recognises common video file types (most standard hosting accounts do this). You also need to know how to upload files and how to create hyperlinks • There are some limitations to bear in mind regarding HTTP streaming: • HTTP streaming is a good option for websites with modest traffic, i.e. less than about a dozen people viewing at the same time. For heavier traffic a more serious streaming solution should be considered. • You can't stream live video, since the HTTP method only works with complete files stored on the server. • You can't automatically detect the end user's connection speed using HTTP. • HTTP streaming is not as efficient as other methods and will incur a heavier server load. • These things won't bother most website producers — it's normally only when you get into heavy traffic that you should be T.Gy. Intrernetes 16 worried about them. médiakommunikáció. 2009.04. 29. To Create HTTP Streaming Video • • • • • Create a video file in a common streaming media format Upload the file to your web server Make a simple hyperlink to the video file, or use special HTML tags to embed the video in a web page. That's essentially all there is to it. When a user clicks the hyperlink, their media player opens and begins streaming the video file. If the file is embedded, it plays right there on the page. Now let's look at how to create the necessary video files... T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 17 Create a Streaming Video File • The methods below are for creating stored video files for the purposes of streaming, not for providing live video broadcasts. Live events must use a streaming server. • There are two ways to create stored streaming video files: • Use a conversion utility program. This takes an existing digital video file and converts it into the streaming format of your choice. • Export streaming files from video editing software such as Adobe Premiere, Final Cut Pro, etc. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 18 Conversion Utilities A conversion utility is a stand-alone program which imports a video clip and exports it to a different format. Examples include RealNetworks Real Producer and Sorenson Squeeze Basically, you simply open a file and select which which format to save it as. You can set various parameters to optimise the final video. The program will then chug away for some time while it makes the conversion. • In the window shown here, the pane on the left shows the original file. The right pane shows the file as it is being converted to a streaming media format. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 19 Streaming Video with Windows Media Windows Media has the obvious advantage of being backed by the biggest player in personal computing. It's a safe bet that Microsoft won't be going broke or radically changing their business model any time soon. Updates to the Windows Media Player are easy and most people who run Windows have the correct player. In our experience Windows Media performs well. Files are relatively high quality and low size. On the downside, Microsoft is renowned for frequently changing formats and standards. As a video producer it can be difficult keeping up with the latest version. Also, Microsoft is a very proprietary format, and any platform other than Windows/IE may have problems. More info: How to stream Windows Media from a web page T.Gy. Intrernetes 20 Creating Windows Media files with Adobe Premiere médiakommunikáció. 2009.04. 29. Streaming Video with RealMedia • Real Media (www.real.com ) has an illustrious history and was one of the first serious streaming video solutions. In the early days it was widely considered to be the best streaming format. It is still a good format but it has lost a lot of ground in the format wars. • Real Media video images tend to be slightly less sharp than other formats — this can be a good or bad thing depending on your preferences. Moving images are handled reasonably well but the finer detail can be easily lost. Overall image quality is perfectly adequate for most applications. • One big disadvantage is the difficulty in downloading the free Real Media Player. Real Media has struggled to maintain a viable commercial business model and they strongly encourage you to buy the full version. This has led many people to become disillusioned with the format and its reputation has not held up well over recent years. Of all the common formats, Real Media looks like the one which is struggling the most. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 21 Streaming Video Files with Quicktime • Quicktime (www.apple.com/quicktime ) is a well-respected format which has been around since the beginning of digital video production. In many ways Quicktime is more complicated than Windows Media or Real Media, but for most producers the complexities don't actually matter. The average web designer only really needs to know how to deal with Quicktime's .mov (movie) files. • If you are keen to explore Quicktime's advanced features, you'll find that you can create interactive video, panoramas, virtual reality settings and more. • Some producers swear that Quicktime is the king of video formats, others just can't seem to be able to make it work. Our opinion is somewhere in between. It is certainly a good format with many unique features. Getting good quality video can be a challenge however — we find that default settings are rarely good enough and experimentation is essential. • One nice thing about Quicktime is its integration with other products. It is widely supported by many editing, authoring and general interest applications T.Gy. Intrernetes 22 médiakommunikáció. 2009.04. 29. Streaming Video Files with MPEG-4 • MPEG-4 has had an interesting history since its development in the late 1990s. Initially development was supported my many companies including Apple and Microsoft, but Microsoft has since abandoned active support. Apple Quicktime continues to support MPEG-4, as do other companies such as DIV-X . • MPEG-4 is a very good quality standard with low file sizes. • The MPEG-4 standard is relatively complicated and can be confusing. There are many variations of the format, some are ISO-compliant and some aren't. Quicktime, for example, deals with both ISO-compliant .mp4 files and non-compliant .mov files. Some MPEG-4 files play in any player, others will only work in certain players. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 23 Streaming Video using Flash • Flash is a very serious force in the world of streaming video. This is the format we recommend most strongly. • Flash uses two main formats: .swf for standard Flash files which are used in web pages, and .flv which is a special Flash video format. flv files can be called from within swf files. As of late 2008 Flash also supports H.264 files, which is a significant leap forward. • Flash has the disadvantage of being expensive. To get the most from this format you need to own the Adobe Flash authoring program. As well as being pricey, there's a lot to learn (although if you have experience with video editors you will pick it up quickly). • On the plus side, if you can afford it and you're prepared for a steep learning curve, Flash will give you power and flexibility beyond your wildest dreams! Custom controls and menus, interactive video and animations, advanced integration with web pages... the sky is the limit. • Flash also has the huge advantage of having the most widelyT.Gy. Intrernetes supported cross-platform player. It is such a common plugin24 2009.04. 29. that almost everyonemédiakommunikáció. has it. Adobe Flash Overview Adobe Flash is a platform for creating digital media content, including graphics, animation, audio, video and interactive media. Flash is most commonly used to display animated and/or interactive content on web pages but it can be used for other applications as well. In recent years Flash has also become a leader in online video delivery. • Flash content can be made either with the Flash authoring program (known simply as Adobe Flash) or third party applications such as Swish (www.swishzone.com). Flash is by far the best solution but it is fairly expensive. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 25 Flash content can be played back in two ways • SWF files are the normal way to deliver Flash on the Internet — the SWF file is embedded in a web page using special HTML code. The end user must have the Flash Player installed (most people do). • Flash files can be created as standalone executable files (.exe). These files run as a program in their own right and do not require the Flash Player. This option is useful for delivering content on CD or DVD. • Flash Player • Flash Player is a browser plugin that allows you to view Flash files. Most browsers have the plugin installed by default, but often the installed version is outdated. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 26 Flash Files Flash uses the following file types and extensions T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 27 Flash Player Version History T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 28 Flash Player Version History II. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 29 Fájlformátum alapkérdések • • • • Mi tudja lejátszani? Mennyire tömör? Kell-e jogdíjat fizetni? Hogyan lehet áttenni más (a meglévő eszközökkel lejátszható) formátumba? T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 30 Audio Files .aac .aif .iff .m3u .m4a .mid .midi .mp3 .mpa .ra .ram .wav .wma Advanced Audio Coding File Audio Interchange File Format Interchange File Format Media Playlist File MPEG-4 Audio File MIDI File MIDI File MP3 Audio File MPEG-2 Audio File Real Audio File Real Audio Media WAVE Audio File Windows Media Audio File T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 31 • • • • • • • • • • • • • • • .3g2 .3gp .asf .asx .avi .flv .mkv .mov .mp4 .mpg .qt .rm .swf .vob .wmv Video Files 3GPP2 Multimedia File 3GPP Multimedia File Advanced Systems Format File Microsoft ASF Redirector File Audio Video Interleave File Flash Video File Matroska Video File Apple QuickTime Movie MPEG-4 Video File MPEG Video File Apple QuickTime Movie Real Media File Macromedia Flash Movie DVD Video Object File Windows Media Video File T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 32 T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 33 T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 34 T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 35 T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 36 T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 37 T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 38 T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 39 T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 40 .mov files T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 41 T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 42 .qt files T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 43 rm files T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 44 vob files T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 45 T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 46 Free audio and video stream broadcasting software • Red5 (Free/Windows, Linux, Mac OS X) Red5 is an open source flash server written in Java that allows to broadcast MP3 and FLV files. It supports: • Broascasting streaming MP3 audio and FLV video • Recording client streams (FLV only) • Shared objects • Live stream publishing • Remoting (AMF) T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 47 Free audio and video stream broadcasting software • IceCast (Free/Windows, Linux) You can broadcast streaming MP3 (MPEG 1 Layer 3 Audio) using an IceCast 1+, streaming OGG Vorbis using IceCast 2+, streaming AAC using IceCast 2.2+ streaming server. Icecast was designed to be Shoutcast compatible. Unlike the commercial Shoutcast product Icecast is free. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 48 Free audio and video stream broadcasting software • VideoLan (Free/Windows, Linux, Mac OS X, BeOS ...) The VideoLAN streaming solution includes: • VLS (VideoLAN Server), which can stream MPEG-1, MPEG-2 and MPEG-4 files, DVDs, digital satellite channels, digital terrestial television channels and live videos on the network in unicast or multicast, • VLC (initially VideoLAN Client), which can be used as a server to stream MPEG-1, MPEG-2 and MPEG-4 / DivX files, DVDs and live videos on the network in unicast or multicast; or used as a client to receive, decode and display MPEG streams under multiple operating systems. • VLC's stream output works under Linux, Windows, Mac OS X, BeOS and many Unices. VLS works under Linux, Windows and Mac OS X. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 49 Free audio and video stream broadcasting software • NullSoft Video at SVCI (Free) NSV is a new multimedia container format designed for network video streaming. The format is known as NullSoft Video or simply NSV. NSV was developed by Nullsoft corporation, the same company that produced the popular Winamp and Shoutcast streaming audio software. Winamp TV uses NSV streams. NSV consists of free software to encode, stream and view video. There are additional third party NSV applications being developed and distributed by stations and users. Additional software can be purchased from outside commercial software vendors as well. NSV has broken the restrictive Internet video broadcast barrier and allows anyone the ability to produce and distribute live or recorded video content. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 50 Free audio and video stream broadcasting software • MPEG4IP (Free / Linux, Windows, Solaris, FreeBSD, BSD/OS, Mac OS X) MPEG4IP provides an end-to-end system to explore streaming multimedia. The package includes many existing open source packages and the "glue" to integrate them together. This is a tool for streaming video and audio that is standards-oriented and free from proprietary protocols and extensions. Provided are a live MPEG-4/H.261/MPEG-2/H.263 MP3/AAC/AMR broadcaster and file recorder, command line utilities such as an MP4 file creator and hinter, and an player that can both stream and playback from local file. This code is not intended for end users, and does not contain executables. Please read all the legal information to determine if it is suitable for you. T.Gy. Intrernetes médiakommunikáció. 2009.04. 29. 51