Nokia N810 Transcoding
For anyone who wants to transfer their recordings to the Nokia N810 Internet Tablet, you may find that getting the transcoding "just right" isn't so easy.
Most online guides suggest transcoding down to 320x240 or thereabouts. This is sub-optimal because the N810 has an 800x480 screen. However, the built-in media player(s) are very limited and picky on what they'll play back.
Using the Maemo application "Canola2" gets around the standard media player's limitations, and provides a lovely interface.
I've tried a number of permutations, and come up with the following mencoder line as the best balance of quality (size, bitrate), and reliability (frame-dropping, sync issues, etc.) Set the following as a user job (I call mine "Resize for N810"):
mencoder -o "%TITLE% - %SUBTITLE%.avi" -idx -cache 1024 -srate 32000 -oac mp3lame -lameopts vbr=3:br=96 -af volnorm -ofps 25 -ovc lavc -vf-add scale=512:304 -vf-add unsharp=c4x4:0.3:l5x5:0.5 -ffourcc FMP4 -force-avi-aspect 1.68 -lavcopts vcodec=mpeg4:vbitrate=600:autoaspect:idct=7:ildct:ilme:trell:cbp:mpeg_quant:vrc_buf_size=800:vrc_maxrate=600 "%DIR%/%FILE%"
This results in nice, playable file for both ATSC and NTSC recordings.
Feel free to add tweaks and updates to this article.
This currently throws a number of errors: MEncoder SVN-r28951-snapshot-4.1.2 (C) 2000-2009 MPlayer Team success: format: 0 data: 0x0 - 0x37d71004
MPEG-PS file format detected. VIDEO: MPEG2 480x480 (aspect 2) 29.970 fps 6000.0 kbps (750.0 kbyte/s) [V] filefmt:2 fourcc:0x10000002 size:480x480 fps:29.970 ftime:=0.0334
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3 AUDIO: 48000 Hz, 2 ch, s16le, 384.0 kbit/25.00% (ratio: 48000->192000) Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
Opening video filter: [expand osd=1] Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1 Opening video filter: [unsharp=c4x4:0.3:l5x5:0.5] Opening video filter: [scale w=512 h=304]
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough VDec: vo config request - 480 x 480 (preferred colorspace: Mpeg PES) The selected video_out device is incompatible with this codec. Try appending the scale filter to your filter list, e.g. -vf spp,scale instead of -vf spp. VDecoder init failed :( Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family Unsupported PixelFormat -1 Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
Forcing output FourCC to 34504d46 [FMP4]. MP3 audio selected. VDec: vo config request - 480 x 480 (preferred colorspace: Planar YV12) VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is 1.33:1 - prescaling to correct movie aspect. [swscaler @ 0x1cbd21c0]BICUBIC scaler, from yuv420p to yuv420p using MMX2 unsharp: 5x5:0.50 (sharpen luma) unsharp: 5x5:0.30 (sharpen chroma) videocodec: libavcodec (512x304 fourcc=34504d46 [FMP4]) [mpeg4 @ 0x1cbeefc0]impossible bitrate constraints, this will fail Pos: 0.0s 2f ( 0%) 0.00fps Trem: 0min 0mb A-V:0.003 [0:0] 1 duplicate frame(s)! Writing header... ODML: vprp aspect is 16384:9752. Writing header... ODML: vprp aspect is 16384:9752. New_Face failed. Maybe the font path is wrong.n 0mb A-V:0.007 [0:0] Please supply the text font file (~/.mplayer/subfont.ttf). subtitle font: load_sub_face failed. Writing header... ODML: vprp aspect is 16384:9752.