Video encoding

(Streaming video)
(Streaming video: Tidy up links, and emphasis things which have detailed articles containing the full instructions)
Line 52: Line 52:
=== mediaserv ===
=== mediaserv ===
-
[http://mediautils.garage.maemo.org/mediaserv.html mediaserv] is part of the [http://mediautils.garage.maemo.org/ mediautils] suite by [[User:Jaffa|Jaffa]]. It provides a web-interface to your media and streams that media to you using tablet-encode and mencoder. It can be somewhat difficult for users unfamiliar with the command line to set up and use. Will work well with either Linux or Mac OS X.
+
[http://mediautils.garage.maemo.org/mediaserv.html mediaserv] is part of the [http://mediautils.garage.maemo.org/ mediautils] suite by [[User:Jaffa|Jaffa]]. It provides a web-interface to your media and streams that media to you using tablet-encode and mencoder. Familiarity with the command line is suggested, but the commands themselves aren't complex. It works well on either Linux or Mac OS X.
=== Orb ===
=== Orb ===
Line 61: Line 61:
=== Knots ===
=== Knots ===
 +
{{main|Knots}}
[[Knots]] is a feature rich GPLv2 Video Streaming Application for Linux, FreeBSD and OS X. It allows you to stream videos and Live-TV from your desktop or transcode and transfer videos easily to your device. In offline mode the client acts as a thumb friendly fronted for mplayer.
[[Knots]] is a feature rich GPLv2 Video Streaming Application for Linux, FreeBSD and OS X. It allows you to stream videos and Live-TV from your desktop or transcode and transfer videos easily to your device. In offline mode the client acts as a thumb friendly fronted for mplayer.
=== VLC ===
=== VLC ===
-
[[Vlc]] is a media player that doesn't require external codec libraries for most video formats; and offers a rich streaming package out of the box. mplayer can easily receive video from VLC.
+
{{main|Vlc}}
 +
[[Vlc|VLC]] is a media player that doesn't require external codec libraries for most video formats; and offers a rich streaming package out of the box. mplayer can easily receive video from VLC. It has an overwhelming number of options, but when the correct parameters are given it can be very effective.
== Manual conversion instructions ==
== Manual conversion instructions ==

Revision as of 10:25, 6 February 2009

The native resolution of the tablets is 800x480. Unfortunately (due to hardware limitations), playback of videos at that resolution is not possible. Because of this, most videos will need reencoding for use on the tablets. This page aims to document those limitations and the tools available to convert videos to within those limits.

Contents

Media player limitations

The standard media player has some limitations:

  • Horizontal and vertical dimensions must be multiples of 16.
  • Video data rate and resolution is limited to about 800Kbps and 400x240 (352x288 on the 770).
  • Audio must be at 44.1kHz or lower (performance drops dramatically with 48KHz audio).
  • It does not support external subtitles, so they must be hardcoded.
  • DivXs need a FOURCC of "DIVX" rather than "DX50".

To encode video that will scale nicely to the screen aspect ratio, you can use either 240x144 (slightly larger than QCIF), 352x208 (slightly smaller than CIF) or 400x240 (N800 only). Of course if your source video is in a 4:3 aspect ratio, then you should stick with CIF (352x288) or QCIF (176x144). The video player will letterbox or pillar box as needed.

The demo video that comes with the N800 is encoded at 600kbps, with a frame rate of 30fps and a resolution of 400x240. To calculate the pixels per second, the equation is 400x240x30 = 2.88 Megapixels/second.

For the Nokia 770, 1.52 Megapixels/second is achievable, but again, this depends on the complexity of the action.

As for the audio subsystem, MP3 at 128Kbps works well. You can reduce the bitrate if you want to limit the file size and if you plan to play the file with the internal speaker only.

MPlayer

MPlayer for Maemo is not as limited as the built-in Media player, and recommended over the built-in player for all users. More video codecs are supported, higher video bitrates and resolutions will play without framedrop, and external subtitles are supported.

Video converters

These converters provide fairly simply interfaces to easily convert video to a NIT-friendly format for those who don't want to invest a lot of time or need a lot of customization options.

Nokia Internet Tablet Video Converter

Internet Tablet Video Converter is the official Nokia video conversion application for N800 and N810 devices, available for Mac OS X and Windows.

The application is designed to be a simple drag-n-drop bulk converter of videos, with minimal configuration option to be simple and fast to use. In addition, it provides a developer API for hooking into the conversion process so that 3rd party developers can modify what gets converted and how.

The built in video player on the n8x0 devices should be used if videos were converted with this tool, versus mplayer.

tablet-encode

tablet-encode is a mencoder wrapper that offers a number of presets designed for the tablets. Additional presets can be set by the user for greater quality, as the default set is generally optimized for streaming.

Handbrake

HandBrake is a free and open source multiplatform, multithreaded DVD to MPEG-4 converter, available for Linux, Mac OS X, and Windows.

HandBrake is intended primarily to convert VOB files from DVDs.

Media Converter

MediaConverter is a Java graphical application with several presets for transcoding video for the N800 or N770. Because it is a Java application it will run on many platforms, including Linux, Windows and Mac. You can select a batch of files, a preset encoding method and let it go. You can also have it produce 30 second samples for trying out different settings. Like tablet-encode it uses mencoder. On Windows, it comes with a setup.exe for easy install, and there are distributions for Linux and the Mac on the download page.

Streaming video

There are a lot of packages available to provide on-demand on-the-fly streaming video to the tablets. These packages provide you access to media located on a server by transcoding the media to comply with the limits of the device. Unfortunately, due to the overhead imposed by the network transfer, streaming video is necessarily of lower quality than video played back locally on the device, but the advantages of on-demand access to your entire media library may out-weigh the slight reduction in quality.

mediaserv

mediaserv is part of the mediautils suite by Jaffa. It provides a web-interface to your media and streams that media to you using tablet-encode and mencoder. Familiarity with the command line is suggested, but the commands themselves aren't complex. It works well on either Linux or Mac OS X.

Orb

Orb is a transcoding and streaming media server for Windows. It is easy to set up and use.

HAVA Player

HAVA is a Slingbox-like device that has a software player for the N800 and N810. It works by connection to your set-top-box, reencoding and streaming it to your tablet. It's a non-free hardware-based solution, but fans of the Slingbox approach may appreciate it.

Knots

Main article: Knots

Knots is a feature rich GPLv2 Video Streaming Application for Linux, FreeBSD and OS X. It allows you to stream videos and Live-TV from your desktop or transcode and transfer videos easily to your device. In offline mode the client acts as a thumb friendly fronted for mplayer.

VLC

Main article: Vlc

VLC is a media player that doesn't require external codec libraries for most video formats; and offers a rich streaming package out of the box. mplayer can easily receive video from VLC. It has an overwhelming number of options, but when the correct parameters are given it can be very effective.

Manual conversion instructions

Main article: Manual video encoding

These tools offer manual conversion for those who need lots of customization options or just like getting down to the nitty-gritty.