Active Topics

 



Notices


Reply
Thread Tools
Posts: 91 | Thanked: 65 times | Joined on Feb 2009
#11
As a reply to JustJoe asking to see "benefit of going from 480 to 600+ in resolution", I just uploaded 2 videos of the same source:
TestVideo-480-270-800bitrate.avi
TestVideo-640-360-800bitrate.avi

They both play correctly on my N800, I cant see any speed difference.

The scenes in this small videos are "active", and if mplayer is able to handle this video correctly, I think it should be able to handle any type of scene.(again I'm using 1 single pass, I THINK that with 2 passes the bitrate may "peak" on action scenes and cause some lag)

Last edited by karatchov; 2009-03-14 at 19:46.
 

The Following 2 Users Say Thank You to karatchov For This Useful Post:
Karel Jansens's Avatar
Posts: 3,220 | Thanked: 326 times | Joined on Oct 2005 @ "Almost there!" (Monte Christo, Count of)
#12
I just re-encoded an episode of 2 and a Half Men with PDXE:
624x352 at 23.976 fps (I chose not to change the original resolution)
XviD codec 2 pass (Virtualdub gives it 691 kbps) (the original was over 1,000 kbps)
MP3 sound at 128 kbps
Total file size 116 MB

Although I haven't let it run completely yet, I was surprized -- nay: stunned -- that mplayer appears to run this file without any stuttering or tearing on my N800. Clearly Serge has been doing some sneak-finetuning while I wasn't looking.
__________________
Watch out Nokia, Pandora's box has opened (sorta)...
I do love explaining cryptic sigs, but for the impatient: http://www.openpandora.org/
 
Posts: 74 | Thanked: 19 times | Joined on Oct 2008
#13
Can you guys confirm the version of mplayer you are using? I can't get it to play smoothly regardless of what codec/bitrate/resolution I use. The built-in Nokia Media Player seems to work *FAR* better for me (mpeg4). See my thread here:

http://www.internettablettalk.com/fo...ad.php?t=27213

Ignore the stuff about UPnP streaming -- the results are the same even if the file is played off the tablet directly.
 
GeneralAntilles's Avatar
Posts: 5,478 | Thanked: 5,222 times | Joined on Jan 2006 @ St. Petersburg, FL
#14
Originally Posted by spock View Post
The built-in Nokia Media Player seems to work *FAR* better for me (mpeg4).
The built-in player works better with h.264/AAC than mplayer, but mplayer handles MPEG4 (part 2, not part 10)/MP3 better than the built-in player.
__________________
Ryan Abel
 
Posts: 91 | Thanked: 65 times | Joined on Feb 2009
#15
Originally Posted by spock View Post
Can you guys confirm the version of mplayer you are using? I can't get it to play smoothly regardless of what codec/bitrate/resolution I use. The built-in Nokia Media Player seems to work *FAR* better for me (mpeg4). See my thread here:

http://www.internettablettalk.com/fo...ad.php?t=27213

Ignore the stuff about UPnP streaming -- the results are the same even if the file is played off the tablet directly.

MPlayer 1.0rc1-maemo.29.n8x0
when I try to launch a video via the terminal , it starts to lag after some seconds, while it play correctly when launched via the GUI launcher.

Last edited by karatchov; 2009-03-14 at 20:19.
 

The Following User Says Thank You to karatchov For This Useful Post:
Posts: 99 | Thanked: 63 times | Joined on Jul 2008
#16
Thanks karatchov, for going through the trouble of encoding and uploading.

I was paying particular attention to the details in black/ shadow and mist, which I think is the weakest part of the videos that I've transcoded. I think I'll stick with 480 width, since I wasn't able to see a significant difference in quality while playing the videos you uploaded -- on the N800. Viewing them on the desktop computer showed the differences very well, but the N800 screen is small enough that I think those details get lost.

Just FYI, I'm getting better details on single pass runs, (at least on the slow sections), though file size is larger than on double pass runs. (200M original.VOB, 54M for single pass, 50M for double pass). To see the difference requires much more zooming (in) than normal viewing would allow, and of course these very small differences aren't even remotely viewable on a screen the size of a tablet screen.

Thanks again,

Joe
 
Posts: 3,319 | Thanked: 5,610 times | Joined on Aug 2008 @ Finland
#17
Originally Posted by Justjoe View Post
Also, it depends on the scene, so some vids will look/ run better than others, despite the same settings; a dialogue-based movie look better than a fight scene which will look better than an action-based sci-fi movie with tons of camera pans and odd backgrounds. A camera pan across a cluttered room seems to be the toughest to handle, whereas a boxing match might run smoothly at the same setting since there's less work being done.
MBWOTO Given a fixed bitrate, it doesn't really matter how dynamic a scene is, the amount of data to be pushed around is usually the same (unless it's *totally* static, of course). There are two ways around this:

a) Use 1 pass fixed bitrate. Yes, gets artifacts on intense action but hey, better blocky than choppy, right ?

b) Use a bitrate cap. If you use mencoder this is done with -lavcopts vrc_maxrate=700 not sure for other SW/codecs.

EDIT: And the oft overlooked single most playback quality killer on the NIT: 48000Hz audio streams. Conversion of those to 44100 is a must.

Last edited by attila77; 2009-03-15 at 00:35.
 

The Following 3 Users Say Thank You to attila77 For This Useful Post:
Posts: 503 | Thanked: 267 times | Joined on Jul 2006 @ Helsinki
#18
Originally Posted by attila77 View Post
MBWOTO Given a fixed bitrate, it doesn't really matter how dynamic a scene is, the amount of data to be pushed around is usually the same (unless it's *totally* static, of course).
The amount of data may be fixed, but it does not mean that the amount of work to be done will be fixed as well when decoding video. Scenes with lots of motion or panning still take more cpu than mostly static scenes even with the same bitrate.

There are two ways around this:

a) Use 1 pass fixed bitrate. Yes, gets artifacts on intense action but hey, better blocky than choppy, right ?

b) Use a bitrate cap. If you use mencoder this is done with -lavcopts vrc_maxrate=700 not sure for other SW/codecs.
Yes, fixed bitrate single pass encoding helps to reduce cpu usage spikes and is preferable from the performance point of view.

Just one more thing, cartoon/animation is typically much easier for cpu to decode. For example, N810 just barely has enough power to be able to decode and playback 480p big buck bunny video in realtime (without sound). This of course needs some tweaks (crop filter to letterbox it from 854x480 to 800x480) in order to prevent cpu from wasting too much resources on software downscaling because the video itself is bigger than screen resolution. It should be possible to find some animation in 640x480 resolution which would play fine on the device And adding missing ARMv6 optimizations could help a lot for sure.

Here is the log of 480p video playback:
Code:
/media/mmc2 $ mplayer -nosound -benchmark -quiet -vf crop=800:480 -vo omapfb:tearsync=0 big_buck_bunny_480p_stereo.avi
MPlayer 1.0rc1-maemo.29.n8x0 (C) 2000-2006 MPlayer Team
CPU: ARM
Internet Tablet OS version:

[MENU] Can't open menu config file: /home/user/.mplayer/menu.conf
Menu inited: /etc/mplayer/menu.conf

Playing big_buck_bunny_480p_stereo.avi.

AVI file format detected.
AVI_NI: No audio stream found -> no sound.
VIDEO:  [MP42]  854x480  24bpp  24.000 fps  1840.6 kbps (224.7 kbyte/s)
Clip info:
 Software: MEncoder 2:1.0~rc2-0ubuntu13
[omapfb] Nokia N800/N810 hardware detected
[omapfb] tearsync is disabled
Opening video filter: [crop w=800 h=480]
Crop: 800 x 480, -1 ; -1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffmp42] vfm: ffmpeg (FFmpeg M$ MPEG-4 v2)
==========================================================================
Audio: no sound
Starting playback...
VDec: vo config request - 854 x 480 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO: [omapfb] 800x480 => 800x480 Planar YV12  [fs] [zoom]
[omapfb] ARM JIT scaler (quality=2): 800x480 YV12 => 800x480 YUV420


BENCHMARKs: VC: 466.264s VO: 120.273s A:   0.000s Sys:   4.053s =  590.590s
BENCHMARK%: VC: 78.9490% VO: 20.3648% A:  0.0000% Sys:  0.6862% = 100.0000%

Exiting... (End of file)
So decoding and showing all frames of this 596 seconds long video takes 591 seconds which is just a little bit faster than realtime. Of course playback speed is not uniform, but decoding ahead and buffering can help to solve this problem (like mplayer-xp fork or omapfbplay proof of concept demo program from beagleboard). And adding audio would be the last straw to break everything.

And of course getting such good looking results is practically impossible with any real non-animated 480p video

Last edited by Serge; 2009-03-15 at 04:17.
 

The Following User Says Thank You to Serge For This Useful Post:
Posts: 503 | Thanked: 267 times | Joined on Jul 2006 @ Helsinki
#19
Originally Posted by attila77 View Post
EDIT: And the oft overlooked single most playback quality killer on the NIT: 48000Hz audio streams. Conversion of those to 44100 is a must.
Yes, audio pipeline is a major pain on N8x0 devices. It goes through ESD daemon and ends up in DSP. It is hard to even get audio/video playback in sync, let alone be sure that no extra cpu resources are wasted on resampling somewhere.
 

The Following User Says Thank You to Serge For This Useful Post:
Posts: 74 | Thanked: 19 times | Joined on Oct 2008
#20
Originally Posted by attila77 View Post
EDIT: And the oft overlooked single most playback quality killer on the NIT: 48000Hz audio streams. Conversion of those to 44100 is a must.
YES!! THANK YOU!! That solved my problem. Now my mediatomb on-the-fly transcoding setup works with Canola flawlessly! All it took was setting the audio to resample to 44100 (was 48k). I knew it had to be something simple.
 
Reply

Tags
codec, encode, encoding, mplayer, video


 
Forum Jump


All times are GMT. The time now is 08:01.