What are the best settings to use in Handbrake for the Nexus 7?
I want to encode movies while keeping good quality but as the device has limited space I dont want to store any information that the device cant show.
Thanks,
Mento
I'm still a rookie on the forum so I can't post links, but do a Google search for "android video compatibility" and you will see the stock android video capabilities in the first link, address starts with "developer.android."
You'll see that it basically can handle good hi def in the form of mp4 and mkv. That being said, you can use less space by using avi files that are marginally smaller, but you will need a media player app like MX player, there are plenty of free ones that can get the hardware involved in the processing so you get great video.
Hope this helps.
Sent from my Nexus 7 using XDA Premium HD app
I've been looking for the same information since the Nexus 7 was released. I haven't been able to find a good resource that says what options in the H.264 spec are supported. However, I was able to play back some movies which I encoded for an iPod Touch using Handbrake. These videos were encoded basically using the iPhone profile with some minor changes. So, H.264, high-profile, using b-frames (I think 3).
I've been using DicePlayer, mostly because I couldn't get stable playback using MxPlayer or the stock player on my Touchpad. It seems like the Nexus 7 stock player is capable of playing those files back, but I still use Dice.
There are two presets in Handbrake under Devices, Android Mid and Android High.
ffmpeg settings
It's a shame there's no standard. Each Android device supports different features. Using ffmpeg If you want maximum compatibility you have to encode with baseline slow. However, the Nexus 7 seems to have excellent H.264 support.
Here's what I've successfully used to downconvert 1920x1080i video - it does crop the edges a bit but I think it's probably within the overscan area anyway. (Yeah, I know, LCDs don't actually have overscan.)
High quality, remove a logo, 24fps 'film' source :
ffmpeg -y -i <INPUTVIDEONAME> -r 24000/1001 -crf 20 -filter:v yadif,removelogo=<LOGOFILENAME>,scale=-1:800,crop=1280:800 -sws_flags spline -preset placebo -profile:v high -aq 90 -ac 2 <OUTPUTVIDEONAME>.mp4
Lower quality (crf=20 vs 30), no logo removal:
ffmpeg -y -i <INPUTVIDEONAME> -r 24000/1001 -crf 30 -filter:v yadif,scale=-1:800,crop=1280:800 -sws_flags spline -preset placebo -profile:v high -aq 90 -ac 2 <OUTPUTVIDEONAME>.mp4
Lower quality, 29.97fps video source:
ffmpeg -y -i <INPUTVIDEONAME> -r 30000/1001 -crf 30 -filter:v yadif,scale=-1:800,crop=1280:800 -sws_flags spline -preset placebo -profile:v high -aq 90 -ac 2 <OUTPUTVIDEONAME>.mp4
This works with CURRENT builds of ffmpeg as of this post. Earlier releases may not work.
Best bet is just choose the iPhone 4 preset and up the width to 1280 (depending on what you're encoding). If the source material is < 1280 pixels wide (SD content, etc) then just accept the default resolution the preset chooses (DVD content will play back at the correct aspect ratio). If the source material is = or > 1280 pixels wide, the preset will default to 960 pixels - change that to 1280 (for > 1280 wide) and it'll look fantastic.
Most likely you'll need to drop the audio down to simple 2-channel stereo, the recommendation is to use the AAC ffmpeg encoder at 160 Kbps or 128 Kbps if you want to save a few bytes (the size difference between a 128 Kbps and 160 Kbps audio stream will be fairly minimal; the 160 Kbps will offer better response so might as well just use that).
Or, if the material you want to encode already has AAC audio streams, just pass the audio through - that saves HandBrake the time and trouble of re-encoding already lossy audio and you end up with the exact audio stream taken from the source material but this only works if the source material HAS an AAC audio stream to begin with. There's an option to pass-thru MP3 audio streams as well.
Since the Nexus 7 isn't really designed to provide AC3/DTS capability for audio (5.1 or 7.1 soundtracks), there's no reason to encode or pass-thru such huge streams: encode it down to 128 or 160 Kbps AAC 2-channel stereo audio streams with the ffmpeg encoder.
MP4 or M4V is fine for the extension, either one will allow embedded captions/subtitles, or use MKV, doesn't really matter.
And the recommended media player for the Nexus 7 (at least my recommendation) is MX Player, there's nothing that can touch it.
These tips should get you some great looking videos. You can even make some minor adjustments like increasing the Reference frames to 5 and get slightly smaller video files in the long run as well.
But the basic iPhone 4 preset and adjusting the resolution to 1280 wide will give great results - you can of course just leave the resolution at the default of 960 pixels wide and it'll upscale beautifully on the Nexus 7 and you'll save a big chunk of space on the resulting encodes, like 25-35% in the end file size.
Hope this helps...
NOTE: HandBrake just updated again the other day, they're at 0.9.8 now so, if you're using an older build, it's a good idea to update to the most current one (the 0.9.7 release had some bugs they quashed pretty fast).
br0adband said:
Best bet is just choose the iPhone 4 preset and up the width to 1280 (depending on what you're encoding). If the source material is < 1280 pixels wide (SD content, etc) then just accept the default resolution the preset chooses (DVD content will play back at the correct aspect ratio). If the source material is = or > 1280 pixels wide, the preset will default to 960 pixels - change that to 1280 (for > 1280 wide) and it'll look fantastic.
Click to expand...
Click to collapse
Let me just add one general warning. The iPhone 4 preset, along with the Android-high profile, use b-frames and other optional features in the H.264 that aren't necessarily supported on all Android devices. The Nexus 7 appears to deal with them fine, but as a general rule the iPhone 4 preset is not going to work on all Android devices.
Correct, and I was about to launch a very long post earlier but decided it's not worth the time or trouble.
Android devices with high resolution screens and made in the last ~18 months or so can handle the iPhone 4 preset without issues. My alteration to the preset is to increase the overall compression (using 5 Reference frames instead of the default 3 for the iPhone 4 preset) and also to adjust the Adaptive B-Frames to Optimal, that's about it on the Advanced tab.
I don't use the Android High preset because it requires me to alter more of the possible options than the iPhone 4 preset does (easier to adjust 2-3 options than 12).
Rest assured, the quad core Nexus 7 with the latest hardware decoder can handle any x264/h.264 options at this point in time.
This thread and this subforum ain't about all Android devices, it's about the Nexus 7 and everything posted so far is relevant to that device.
br0adband said:
Correct, and I was about to launch a very long post earlier but decided it's not worth the time or trouble.
Android devices with high resolution screens and made in the last ~18 months or so can handle the iPhone 4 preset without issues. My alteration to the preset is to increase the overall compression (using 5 Reference frames instead of the default 3 for the iPhone 4 preset) and also to adjust the Adaptive B-Frames to Optimal, that's about it on the Advanced tab.
I don't use the Android High preset because it requires me to alter more of the possible options than the iPhone 4 preset does (easier to adjust 2-3 options than 12).
Rest assured, the quad core Nexus 7 with the latest hardware decoder can handle any x264/h.264 options at this point in time.
This thread and this subforum ain't about all Android devices, it's about the Nexus 7 and everything posted so far is relevant to that device.
Click to expand...
Click to collapse
Tegra 3 doesn't like hi10p.
Hi10p only proves beneficial for one specific thing: anime or cartoon-type video content, and in the big picture it's pretty much irrelevant. It has a small community behind it - again, specifically anime fans - and that's fine but, in reality it's not a big enough "draw" (no pun intended) to bother with.
8-bit encoding with x264 looks just fine on the Nexus 7 and has no issues at all.
As side from the benefits in anime, the file size savings is really nice.
Handbrake
Regular Normal profile
H.264 for video
1000 Video Bitrate kbps (If you're starting with HD this bitrate is sufficient. about a gig per 2 hour movie)
Audio AAC (faac)
Gain 10
DRC 2.0
You can either setup handbrake to name it an mp4 instead of m4v or manually rename it to mp4.
You will be able to play with stock player.
I have never bothered to encode video files since I always owned devices that support mSD. But ever since I recieved this Nexus 7 as a gift ( HATE the no msd slot!!!!!) I thought it'd be a good idea to start encoding video files. I used handbrake (latest version), converted a 720p 1 hour game of thrones tv show episode, and I'm not impressed! I changed the resolution to 960X720, bit rate 1000, AAC FAAC stereo 128, Refrence Frame 5, Adaptive B-frame optimal, and all I ended up with was a 10mb difference in size (442mb to 433mb)
Hemidroids said:
Handbrake
Regular Normal profile
H.264 for video
1000 Video Bitrate kbps (If you're starting with HD this bitrate is sufficient. about a gig per 2 hour movie)
Audio AAC (faac)
Gain 10
DRC 2.0
You can either setup handbrake to name it an mp4 instead of m4v or manually rename it to mp4.
You will be able to play with stock player.
Click to expand...
Click to collapse
Pretty much this, though I recommend changing horizontal pixels to 1280 and scale vertical accordingly. You can even scale down video bit rate on this device decently (if you're tight on space) because the high dpi helps hide compression artifacts.
Sent from my paranoid Nexus 7.
zolo111 said:
I have never bothered to encode video files since I always owned devices that support mSD. But ever since I recieved this Nexus 7 as a gift ( HATE the no msd slot!!!!!) I thought it'd be a good idea to start encoding video files. I used handbrake (latest version), converted a 720p 1 hour game of thrones tv show episode, and I'm not impressed! I changed the resolution to 960X720, bit rate 1000, AAC FAAC stereo 128, Refrence Frame 5, Adaptive B-frame optimal, and all I ended up with was a 10mb difference in size (442mb to 433mb)
Click to expand...
Click to collapse
The original file was probably already H.264 video.
Primary reasons to encode/transcode:
1) Reduce bitrate and resolution of 1080p Blu-Ray content
2) Change format of source files encoded in a way the device doesn't like
3) Use a more efficient codec than the source format while preserving the resolution (DVD encodes - H.264 is vastly superior to MPEG-2 so achieves major size reductions. Typically a 4.7GB DVD can be reduced to around 1GB of AVC+AAC at very high quality settings.)
On many devices, H.264 had better hardware acceleration than MPEG-4 ASP (aka DivX/Xvid) and most Android devices have far better support for the MPEG-4 container format than AVI - so it would be beneficial to transcode torrents that were ASP+MP3 AVIs.
However, many HD torrents are now AVC+AC3 MKVs. AC3 can be a problem, so can MKV, so usually when I do these transcodes I just transcode the audio using ffmpeg. Something like:
Code:
ffmpeg -i <infile.mkv> -acodec libfaac -ab 160k -ac 2 -vcodec copy <outfile.mp4>
Replaces AC-3 surround audio with 2-channel 160 kilobit AAC audio, and remuxes into an MPEG-4 stream.
Traditionally, 1 hour torrent releases were 700MB (1 CD) ASP+MP3 in an AVI container - However the scene seems to be moving from constant-size AVI encoding to constant-quality H.264+AAC MPEG-4 releases for standard definition content. 443MB for 1 hour sounds like one of these releases, which likely don't need any transcoding at all.
>ffmpeg -i <infile.mkv> -acodec libfaac -ab 160k -ac 2 -vcodec copy <outfile.mp4>
Has ffmpeg updated its AAC codec to be anything decent? I'm still using NeroAACenc.
Another ffmpeg issue is that last I checked (a year ago), it can mangle channel mapping for 5.1 audio, assuming you want 6ch AAC rather than stereo. I use ffmpeg for (some) demux, and straight x264 for video. There are better audio enc tools.
MPEG4-ASP isn't relevant any more, except to the few still stuck on obsolete playback hardware.
>the scene seems to be moving from constant-size AVI encoding to constant-quality H.264+AAC MPEG-4 releases for standard definition content.
I don't see that. Yes, peeps are moving to smaller-sized AVC encodes, but they're all still using 2-pass/fixed bitrate rather than 1-pass/fixed CRF.
BTW, for those with Win32 box and are interested in recoding/shrinking their vids, do try my x264 script below. Its forte is commandline efficiency with menu simplicity. It uses one-pass constant quality (CRF). You can vary the CRF.
http://forum.xda-developers.com/showthread.php?t=1102922
---------- Post added at 05:01 PM ---------- Previous post was at 04:35 PM ----------
>I used handbrake (latest version), converted a 720p 1 hour game of thrones tv show episode, and I'm not impressed! I changed the resolution to 960X720, bit rate 1000, AAC FAAC stereo 128, Refrence Frame 5, Adaptive B-frame optimal, and all I ended up with was a 10mb difference in size (442mb to 433mb)
The 720p 1-hr vid is already using a low bitrate to achieve the 442MB size. By using an arbitrary bitrate--why 1000, because it's an even number?--you're both increasing the bitrate and decreasing the quality, by re-encoding it again and at lower resolution.
BTW, most HDTV vids are 16:9, which at 960 is 960x540.
Videos can have wildly varying bitrate requirements, so it's advisable to use constant quality, and let the encoder determine the bitrate. HB uses a default of CRF 20, which is overly generous. Low-bitrate encodes such as the above has a CRF-equivalent of 24-27 (higher CRF = softer detail = lower bitrate), so don't bother recoding those. For biggies, suggest the x264 default of CRF 23 to start out.
AAC codec: Might be why if you use -acodec aac you get all sorts of warnings that you should really use libfaac instead - seems fine to me. That said my ears aren't particularly picky. NeroAACenc isn't really an option for me on a Linux box, and the above works fine for my use case.
Channel mapping: It seems to be downmixing fine, and as you see in my example, I told it to downmix to two channels. I haven't tested this in thorough detail, I need to find a good example of something with only rear channel audio to make sure the rear channels are getting mixed in. I don't encode to more than stereo AAC as I have nothing at all that can do anything useful with surround AAC - And there is no point in sending surround AAC to a Nexus 7 currently.
The "scene" using CBR 2-pass - I don't think they are any more for some newer releases - I'm seeing too much file size variance. It's not like the old days where files would be exactly 350MB or 700MB within a few kilobytes - I'm seeing up to 100MB of variation or more between releases even of the same show from the same group. That kinda screams CRF to me. Note that this is primarily TV shows from eztv - the movie "scene" may still be doing it oldskool.
Edit: Also, I find it highly unlikely that the person above actually had a 720p 1-hour episode. I've never seen a 720p TV release that small. Typically if it's around 440MB for a one hour video, that's a sign that it's a standard definition release.
NeroAACEnc is available for linux: ftp://ftp6.nero.com/tools/NeroDigitalAudio.zip
Re: Channel mapping - Yes, downmix works fine. The problem occurs when encoding to 6ch AAC, since AAC and AC3 (and DTS) all use different channel mapping, and ffmpeg doesn't remap them properly. You can try encoding the 5.1 AC3 test clip attached below. Each channel is verbalized out loud so you will know if it's correctly mapped.
Yes, it doesn't normally matter for tablets. But it would if you plug said tablet into a HDTV w/ hi-fi setup. OK, not the N7.
>The "scene" using CBR 2-pass
Admittedly I don't watch many vids nowaday, so you may be right. I usually do a mediainfo scan on stuff I watch to check their encoding params, and all the vids I see use 2-pass.
>unlikely that the person above actually had a 720p 1-hour episode. I've never seen a 720p TV release that small.
I've seen the Avengers 720p at 1.2GB, which is really low BR considering it's 2:22min long with lots of action scenes. Even at CRF 23 and just stereo AAC, my own 720p rip comes out to 1.8GB. It's typical for noobs to aim for a small fixed size and yet keeping the res high.
The result looks poor at close examination, but for casual viewing, it's actually fairly passable. At really low bitrates, the details are just softer rather than being pixellated as with ASP. For fast-motion scenes, it's hard to discern the detail loss. It's a testament to x264 encode quality.
Thanks Entropy512. You're right, I thought it'd be possible to further reduce the size since I wouldn't notice the picture quality difference on the 7" screen while I reduce the size by 20-25%. The scene already release a fantastic copy, size wise.
anyone had any luck encoding a video at 1080p 60fps for the nexus 7, and in that case what codecs/settings?
Related
Is anyone having problems with video playback?
WMV files they are played very slow (loosing a lot of frames). With MP4 I got best results but not the best. Any suggestions??
Thanks
WMV
I can't even get the above files to play
are you using Media Player? as video playback has always been awful on Medial Player on every pocket pc or smartphone ive everhad.
install TCPMP and video playback will be perfect, and will play any file you throw at it
http://forum.xda-developers.com/showthread.php?t=380387&highlight=tcpmp+diamond
Thanks for the tip keyz86. I'll try it.
no problem, glad to help a fellow Dimondarian
won't play
loaded the TCPMP but everytime I try and start it i get the attached error, using diamond help
keyz86 said:
no problem, glad to help a fellow Dimondarian
Click to expand...
Click to collapse
Dimondarian Cool hehehe
Has anyone been able to play a full resolution file without skipping?
I am using CorePlayer now but if another player works better, please say so.
With Coreplayer I benchmark about 85%, which is not good enough.
I believe the Diamond should be able to get 100%.
I found that an encoded mp4 file would play about the same as the original avi xvid file...
What do you use to encode videos specifically for the Diamond?
Come on!! Post your results!
tretre said:
What do you use to encode videos specifically for the Diamond?
Come on!! Post your results!
Click to expand...
Click to collapse
What video settings do you use with coreplayer ?
DirectDraw, GDI or what ?
This is what i get:
With these configs.:
But with some other videos i have i get only 88% speed and some frame drops and tearing.
Doesnt the Diamond has a good video hardware.
Imo, it shouldnt lag at all.
Ive read somewhere that it doesnt use the hardware correctly since the drivers were not fully implemented. Not sure if its true.
Still looking for a good solution... any more help?
Coreplayer is still choppy ...
Yeah, I wasn't able to get WMVs to play using this, either.
I think what we need to have a look at is which encoding, resolution, bitrate, fps, etc are optimal for the diamond using core player.
I'm experimenting a bit. Will report back in a bit...
I've just got my Ignito (diamond) a couple of days ago, but I've got a long history of video playback on hand helds. Since this is my first time post, and I happen to have a bit of time on my hands.... I'm going to convert a file into a series of different resolutions and settings to see which one will perform the best. I know the objective is to get a full res one to play, but I'll see what I can come up with.
Also, I'm using the default ROM at this time.
With Coreplayer you should use the 'QTv' display option - this is hardware accelerated and beats 100% benchmark on every AVI I have tried. If you get a blank display using this mode, you are using an old version and need to update.
Alright. After trying a bunch of different codecs, encoders, video and audio formats at various resolutions I came the conclusion that for now, full resolution video is just not possible without jerky movements during continuous motion or fast action scenes.
My eyes are very sensitive and I get really irritated if playback is not perfectly smooth.
So far what works the best in achieving this kind of natural playback is AVI as the output container with XviD video codec at 480 x 360 resolution, and mp3 audio. I set the video and audio bitrates to match whatever the source video was (min 864 kbps and max 1008 kbps for video and 192 kbps for audio).
Even then, CorePlayer is a must with the following settigns: QTv On, TytnII driver mode On and Smooth Zoom On.
Every now and again CorePlayer will show only a purple screen during playback when QTv mode on. At that point I usually do a soft reset and it starts working again.
This issue may be resolved with an upcoming release of CorePlayer (1.3) but until then, the solution above works exceptionally well.
I'd be very interested in anyone else is having success in other ways...
320 by 240 versus 640 by 480
I have done some playing with conversion and have found that the Diamond (currently) does not support the 640 by 480 settings with a good bitrate. The BEST conversion I have found (using Coreplayer to play back the files) is using the BETA Version of the Pocket Divx Encoder (http://www.pocketdivxencoder.net/EN_index.htm) and using the HTC Diamond Template (NON VGA!!!!, there is a VGA and non VGA) that team has developed. They have done an excellent job!
The output settings -
Dimensions 320 by 240
Video Quaility - "36" ... 584 kb bitrate
Hopefully an update by HTC or coreplayer will be released to fully utilize the resolution that the Diamond SHOULD be able to support, but for a clear, non jerky playback, this is my 2 cents
im able to play those axxo dvdripson using coreplayer without any sort of convertion....
I want to share my experience. I am using core player and trying to recode unprotected high-definition TV shows (original resolution of 1920x1080) that I've recorded on Windows Media Center (.dvr-ms files) to watch on my Sprint Diamond. Unfortunately .dvr-ms are poorly supported, and the only program I've found to recode is TMPGEnc 4.0 Xpress.
I am using Core Player version 1.2.5 build 4506, and my video output is QTv Display with the Tytn II driver mode enabled.
Like everyone else here, I have had horrible results when converting the shows to DivX at 640x360 at any usuable bitrate (above 500 kbps). Benchmarking in Core Player yielded a playback speed of 66% or so (completely unacceptable, obviously). So I played around with the resolution and bitrate, and finally settled on the following:
Format: DivX
resolution: 512x288 (maintains the 16:9 aspect ratio of the original)
Video bitrate: 850 kbps
Frame rate: 29.97 fps (progressive)
Audio: MP3
Audio bitrate: 80 kbps, 48kHz sample rate
With those settings, I have a 104% playback benchmark with around 25 dropped frames compared to several thousand played, and about 29.5 fps. Basically, it is completely smooth audio and video.
I was still PO'd that I had to sacrifice so much resolution and bitrate on a supposed media device, so I played around with other formats. WMV was awful. MPEG-2 was awful, and avi was passable, but no better than DivX. I also decided to try h.264 (MPEG-4 AVC). Here are the settings I used:
Video Format: MPEG-4 AVC (saves as .mp4)
Resolution: 640x360 (still maintaining the original 16:9 AR)
Video bitrate: 1000 kbps
frame rate: 29.97 fps (progressive)
Audio format: AAC
Audio bitrate: 96 kbps, 48kHz sample rate
Core Player absolutely choked on this. It was unwatchable, and the benchmark revealed a playback speed of 50%. Dropped frames were higher than played frames (!) and framerate was 13 fps. Obviously not successful.
But, before I deleted the file, on a whim I decided to try Windows Media Player and...it was completely FLAWLESS playback. Absolutely beautiful, smooth motion, no audio stuttering, slow and fast pans were the best I've ever seen on a WM device.
Why??? Is there something I'm missing about this that someone can elaborate on? Is this the fabled "hardware acceleration" that I've read so much about? I should note that WMP had a hard time on a 320x240 .wmv file, so I can't really understand how it is able to play a 640x360 .mp4 file so smoothly. In any event, I have found my perfect file format, and, surprisingly, it doesn't involve Core Player in any way.
-R
The thing is that HTC didn't release any kind of SDK for Diamond or Touch Pro and companies like CoreCodec have hard time trying to figure out how to use the HW acceleration but they are trying very hard to improve the situation so maybe with time they will be able to use the HW for now the only way we wan't to watch videos with HW acceleration is only WMP which means recoding or atleast remuxing files.
Cheers
P.S. Could you post exact specs of the .mp4 file? What kind of AVC it was and things like that.
in regards to the WMP hardware acceleration.
is it better on battery life than having coreplayer trying its hard out to render a video. even if its a small 320x vid that plays at 120%. Does that mean that the cpu is running near max?
Is there an app which can play AVI files?
i think i will bump this as this is a most have and a down side to owning a hero !
Forward the notion.
I'm with you on this. Not being able to play .sci is a real pain.
I've also put some .mp4 files on which haven't played either for some reason. Does anyone know if there is a specific format for video on the hero? Is there a specific converter anyone is using ?
Cheers,
HP
Using something like Handbrake to convert your videos should work. If it has a setting for Apple iPods/iPhones just use that.
Or, it should support the following:
- MP4 container format
- MPEG-4 AVC (also known as h.264) video, max [email protected] (try main profile, try disabling CABAC and B-frames for more reliability)
- AAC (AAC-LC) audio, 48khz suggested sample rate
- Keep overall bitrate low, try from 800kbps to 2000kbps
like most mobile devices, ofcourse there is a limit on the codecs supported, and what levels and settings in the codec that work.
In the current state, all / most clips that are _above_ the native resolution won't play at all. And as a quick rule: H264 @ level 2.1 will work, maybe some 3.0 stuff also works, but I don't know.
Basicly, make sure the MP4's you have are iPhone compatible but 480x320 or lower resolution and the Hero will play them fine.
Any video converter tool (handbrake / Megui / Mediacoder / commercial tools) wil work if you give them the iPhone preset.
About playing AVI files, nobody has written anything yet. Don't really know why people didn't jump on the bandwagon for this kinda of thing. Mostly some sort of ffmpeg-based player will appear quickly on a platform. Maybe it's the java development thing.
Anyway, convert your video's to iphone compatibility at the moment and they should play fine.
Keep in mind that AVI is an older, inferior container format to MP4, and the MPEG-4 ASP (DivX) codec often used with AVI is inferior to MPEG-4 AVC (h.264) usually used with MP4. So you aren't being ripped off in terms of quality or technology. They just neglected to support the older format. Hopefully apps can bridge the gap in future (apps with native libraries that is, not the virtual machine). Given the lower system requirements, I'd say that it would probably be capable of playing an AVI/DivX file encoded up to 640x480x30fps (my old Nokia with a 369MHz CPU can come close).
For best results, however, use handbrake to convert from the original, or from your existing AVIs, to a nice ipod compatible, 480xsomething pixel MP4. Go direct from the original to MP4 (without AVI in between) for even better quality.
however, still after converting that video lags all the time (closed all apps either)
Did you update to the latest firmware? The original shipped firmware has a known issue that the video 'stutters' every second or so for a bit.
ah oaky, this might be the problem... waiting for donut released officially by htc for hero
After a lot of experimenting I've settled on Mediacoder as encoder: free, fast, from everything to everything. The only big disadventage is that it isn't very easy to use (altough the Web UI is ok).
These are the settings I use. I've chosen them because they produce the smallest file/quality compromise while retaining smooth plaback. Also you don't need a special player to view it, WM/the HTC player can do it (altough that might only be since the diamond2 since I use gen.Y's D2 rom)
Container: MP4
Video codec: H.264 (x.264 encoder)
Bitrate: 256 Kbps 2-Pass (target bitrate/average bitrate will produce same sized file faster altough with bit less video quality, since I usually only transcode short music clips etc. and have a fast computer I use 2-pass, but if you want to encode 6 hours of movies you might want to select average bitrate)
Resolution: 640x480
Profile: Baseline - Level 3.0
Audio codec: AAC (Nero encoder)
Bitrate: 96 Kbps
Profile: LC-AAC (make sure you use this, most players can't play HE-AAC yet, e.g. Apple can only do it since iTunes v9, iPhone OS 3.1 and the iPods of fall 2009)
As I said: smooth playback, small filesize and good quality...
Sometimes I have a file which doesn't play really smooth, but lowering the bitrate to 200 Kbps usually fixes that. That is also usually the bitrate I choose for video if I have a really large file and/or want to be sure the file (e.g. film) plays smooth. In my experience lowering the resolution helps a bit on smooth playback, but doesn't really help much. The only reason I use a lower resolution is because I like [email protected] Kbps better than [email protected] Kbps (200 Kbps differs a bit from case to case). Remember: the bitrate gets "divided" over all the pixels so more pixels => less bits per pixel. The only reason to use a higher resolution is because it's sharper but you don't usually see that on such a small screen and low bitrate.
Another thing: I really recommend using x.264 as an encoder rather than the nVidia CUDA encoder. Altough it is waaay faster it also produces worse quality results, especially at low bitrates. So if you have the time: use x.264. If you have the power and space: use the CUDA H.264 encoder.
What do you use?
try handbrake... its free
Pacman15 said:
try handbrake... its free
Click to expand...
Click to collapse
Well, that doesn't sound very good to me...
AVI: AVI is a rough beast. It is obsolete. It does not support modern container features like chapters, muxed-in subtitles, variable framerate video, or out of order frame display. Furthermore, HandBrake's AVI muxer is vanilla AVI 1.0 that doesn't even support large files. The code has not been actively maintained since 2005. Keeping it in the library while implementing new features means a very convoluted data pipeline, full of conditionals that make the code more difficult to read and maintain, and make output harder to predict. As such, it is now gone. It is not coming back, and good riddance.
OGG/OGM: HandBrake's OGM muxer is just as out of date. It hasn't been actively maintained in years either, and it too lacks support for HandBrake's best features. ... This one is not coming back either. ...
XviD: HandBrake, these days, is almost entirely about H.264 video,... Meanwhile, XviD's build system causes grief...
Click to expand...
Click to collapse
Ok, avi I can understand. Anyone who combines AVI with H.264 is just being stupid. But OGM? Xvid? Sound to me more like: we were to lazy to update our requirements and now they're out of date and awfull so we're just removing them...
Removing Vorbis and Xvid from your encoder... Whut?
I am wondering how good the Nook's video capability. It seems there is no powerful display adaper driver for it?
How about 720p video support?
Thanks
720p is probably out of the nook's hardware capabilities.
Also I believe CM7 and HC are currently without hardware acceleration. Best bet is probably Froyo, but haven't tried it.
Moboplay works well for 720p rmvb. i just used real file tested
what rom you on?
i only attempted streaming with gmote from my desktop over wifi, and regular xvid avi's were pretty choppy. (running cm7)
tomorrowneverdie said:
I am wondering how good the Nook's video capability. It seems there is no powerful display adaper driver for it?
How about 720p video support?
Thanks
Click to expand...
Click to collapse
Your NOOkcolor supports the following video file formats: 3gp, 3g2, mp4, m4v; MPEG-4 Simple Profile up to 854x480; H.263 up to 352x288; H.264 Baseline profile up to 854x480
Your NOOKcolor will not support the following video file formats: Flash (Flv/swf); Mov/qt; AVI; MKV; Xvid/divx; WMV / VC-1; H.264 Main and High profile; and videos with a resolution higher than 854x480
So far for me, 854x480 h.264 has provided the best results, mpeg4 has more compression artifacts. There's a profile posted on here somewhere for handbrake to convert to the proper format. VLC convert and stream also transcodes to h.264 if you want to stream from a media server or PC without having to convert the files.
For it to work properly with hardware acceleration, I think only android 2.1 (stock/rooted) and 2.2 have full support.
Rocklayer will play avi videos perfectly, there is however audio sync issues
Sent from my EvO using XDA App
mutant13 said:
Rocklayer will play avi videos perfectly, there is however audio sync issues
Sent from my EvO using XDA App
Click to expand...
Click to collapse
Uh if there's audio sync issues . . . how exactly is it playing videos "perfectly" ???
As has been described already, MP4 videos encoded using H.264 baseline at a resolution at or below 854x480 work well in the stock player. Beyond that, 3rd party video players aren't performing well enough for me to accept as "perfect".
I've tried Rockplayer, Vital Player and VPlayer and none of them play raw AVI files (xvid) that I watch from EZTV to my satisfaction. The only thing that works for me is to re-encode them using Handbrake and the Handbrake preset that's available in this forum with a constant quality setting of 22.
muzzy996 said:
Uh if there's audio sync issues . . . how exactly is it playing videos "perfectly" ???
Click to expand...
Click to collapse
The video part of the video plays fine. The audio part of the video does not.
scratchfury said:
The video part of the video plays fine. The audio part of the video does not.
Click to expand...
Click to collapse
Don't misunderstand me, I've done my own testing. The point I'm making is if people read such statements and then try to watch videos they'll be disappointed in the fact that there are indeed sync issues.
I'd never describe the playback of a video file with audio sync issues as "perfect". IMO the only way playback would qualify as perfect is if there are no dropped frames and no audio sync issues. That's not the case in any of the solutions i've read on these forums when it comes to AVI or MKV playback.
2.3.3 encore cm12
Moboplayer v7. Worked pretty good for me
Nook Color's video player performance is underwhelming at the moment in regards to 720p playback. I'm no sure how the Archos 70 could play it just fine.
evilPERSOn2009 said:
Nook Color's video player performance is underwhelming at the moment in regards to 720p playback. I'm no sure how the Archos 70 could play it just fine.
Click to expand...
Click to collapse
Okay, just to clarify concerning 720p.
Nook Color has a single-core 800mhz processor.
I have found that a single-core 1.4ghz processor is very marginal for 720p - most don't work, even with the most CPU-efficient software decoding ("core").
Generally 1.6-1.8ghz is the minimum required.
So, the only remaining question is whether the graphics chipset will actually support 720p hardware acceleration through a change in the software:
PowerVR's SGX series features pixel, vertex, and geometry shader hardware, supporting OpenGL 2.0 and DirectX 10.1 Shader Model 4.1.
The SGX GPU core is included in several popular systems-on-chips (SoC) used in many portable devices. Apple uses the A4 (manufactured by Samsung) in their iPhone 4, iPad, iPod touch, and Apple TV. Texas Instruments' OMAP 3 and 4 series SoC's are used in the Nokia N900, Sony Ericsson Vivaz, Motorola Droid/Milestone, Archos 70, and others. Samsung produces the Hummingbird SoC and use it in their Galaxy S, Galaxy Tab, Samsung Wave S8500 and Samsung Wave II S8530 devices.
Intel uses the SGX 535 as its GMA 500 and GMA 600 integrated graphics for their Atom platform.
Click to expand...
Click to collapse
by the way, the audio chip is awesome:
Description
The TLV320DAC3100 is a low-power, highly integrated, high-performance stereo audio DAC with 24-bit stereo playback and digital audio processing blocks.
The device integrates headphone drivers and speaker drivers. The mono speaker driver can drive loads down to 4 . The TLV320DAC3100 has a suite of built-in processing blocks for digital audio processing. The digital audio data format is programmable to work with popular audio standard protocols (I2S, left/right-justified) in master, slave, DSP, and TDM modes. Bass boost, treble, or EQ can be supported by the programmable digital signal-processing block. An on-chip PLL provides the high-speed clock needed by the digital signal-processing block.
View full Description in Datasheet
Features
Stereo Audio DAC with 95-dB SNR
Supports 8-kHz to 192-kHz Sample Rates
Mono Class-D BTL Speaker Driver (2.5 W Into 4- or 1.6 W Into
Two Single-Ended Inputs With Mixing and Output Level Control
Stereo Headphone/Lineout and Mono Class-D Speaker Outputs Available
Microphone Bias
Headphone Detection
25 Built-in Digital Audio Processing Blocks (PRB_P1 – PRB_P25) Providing Biquad and FIR Filters, DRC, and 3-D Structures
Digital Mixing Capability
Pin Control or Register Control for Digital-Playback Volume-Control Settings
Digital Sine-Wave Generator for Beeps and Key Clicks (PRB_P25)
Programmable PLL for Flexible Clock Generation
I2S, Left-Justified, Right-Justified, DSP, and TDM Audio Interfaces
I2C Control With Register Auto-Increment
Full Power-Down Control
Power Supplies:
Analog: 2.7 V–3.6 V
Digital Core: 1.65 V–1.95 V
Digital I/O: 1.1 V–3.6 V
Class-D: 2.7 V–5.5 V (SPKVDD ≥ AVDD)
Click to expand...
Click to collapse
Would someone please post the link to setting up handbrake for the best results? Would be very much appreciated!
Sent from my rooted Nook Color
ericc191 said:
Would someone please post the link to setting up handbrake for the best results? Would be very much appreciated!
Sent from my rooted Nook Color
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=894165
Are there manual settings that I can program into Baddaboom? I use that for video encoding as it supports CUDA on my graphics card reducing encode times up to 70% at times.
FWIW "Saving Private Ryan" as both an avi and mp4 have played just fine on my rooted NC (Rockplayer).
timekeeper said:
Are there manual settings that I can program into Baddaboom? I use that for video encoding as it supports CUDA on my graphics card reducing encode times up to 70% at times.
Click to expand...
Click to collapse
In handbrake, the iPod/iPhone profiles produce video files which work fine on the NC (up to 854x480). So if Baddaboom has profiles for those devices, give those a shot. If you want try to tweak the settings manually, the magic configuration in handbrake is:
Set max B-frames to zero
Turn off CABAC entropy coding
Turn off 8x8 transform
Turn off weighted P-frames
In my experience vitalplayer neon plays movies better that rock player.
tomorrowneverdie said:
2.3.3 encore cm12
Moboplayer v7. Worked pretty good for me
Click to expand...
Click to collapse
THANK YOU for that! I've been using rockplayer and having a couple different problems which put me trying different encoding methods last night (different sizes/audio settings, etc, etc.)
Rockplayer is simply inferior to the V7 "Neon" version of MoboPlayer. Very excited about this software find! Thanks!
On the 720p resolution thing:
The Nook's display is 1024x600. 720p video is 1280x720. Playing 720p format videos is overkill. You can convert it down to a smaller size (working on the "best" settings right now in my "Things I Learned" thread.)
Apparently the hardware accelleration only works on up to 854X480 MAX. Anything less than this is scaled up/down to that before run through a hardware scaling up to fullscreen (1024x600).
I find for software playing (for now) 854 width is doable, but 720 width (480p) is nearly the same quality. I'm still playing with the settings, and with the discovery of MoboPlayer, I'm redoing research. I'll be updating my thread with the "best" settings the software player can handle (max 1ghz cpu overclock). Since I'm using a max of 858x480, it should play with hardware accel flawlessly once that is working on CM7 (already works on 2.1/2.2?).
Love this platform.
can you guys tell me some good settings to work on the nook? and what do you guys use to convert videos?
P.S. I have already seen the "Nook Color preset for Handbrake" and it said it would take over 4 hours to convert it!
EverythingNook said:
can you guys tell me some good settings to work on the nook? and what do you guys use to convert videos?
P.S. I have already seen the "Nook Color preset for Handbrake" and it said it would take over 4 hours to convert it!
Click to expand...
Click to collapse
Depending on resolution.
For low def videos on my OC kernel at 1.1Ghz, I can use moboplayer with software decoding without any issues with my AVI files.
(no need for conversion).
Not with 720p videos... They will need to be converted and using handbrake, I can achieve around real time or about 1.5x real time. (2 hr video will encode in about 1 1/2 hours) Just que them up and go to sleep.
hpark21 said:
Depending on resolution.
For low def videos on my OC kernel at 1.1Ghz, I can use moboplayer with software decoding without any issues with my AVI files.
(no need for conversion).
Not with 720p videos... They will need to be converted and using handbrake, I can achieve around real time or about 1.5x real time. (2 hr video will encode in about 1 1/2 hours) Just que them up and go to sleep.
Click to expand...
Click to collapse
thanks for the info! so avi files dont need to be converted?
Encoding time depends on the source vs output somewhat, but normally it takes anywhere from 1/2 to 1:1 the time length of the video to encode, regardless of the encoding software (I've used Handbrake, DVD Catalyst 4, Videodub(mod), and a handful of others over the years).
My solution for this is just to batch queue a bunch of files to be re-encoded and do the encoding overnight when I'm sleeping
My settings (for any encoder, but I'll put them in order for Handbrake here):
Container: MP4 file, Ipod 5G support
Picture:
1. If source > 854x480 then set Width: 854, Anamorphic: Loose, Modulus: 16.
2. If source < 854x480 and the bitrate of the original file is high, can upvert to higher res, otherwise same settings.
3. If source< 854x480 and the bitrate of the original file is low, encode at the original resolution with the same settings as 1.
Video Filters: None
Video Codec: H.264
Framerate: Generally same as source, if you have issues force to 24 (or 23.976)
Regarding 1-pass vs 2-pass encoding, see below
Quality/Bitrates:
(Here's the tricky part for quality issues)
For high-action lots of changes animation / non-animated video I prefer:
1. - average bitrate of 1500 kbps
a) 2-pass encoding if I'm concerned about overall quality (I usually batch jobs overnight when I'm sleeping). *Caveat: This will increase encoding time to ~2x versus ~1:1*
b) 1-pass encoding if I'm in a hurry, it's good enough for many videos
For things that don't require a lot of movement and have large areas of flat color, like say, South Park*:
2. - (constant) RF:20 resulting in 1/2 the file size of the bitrate used in 1.
**** Out of all the parts of encoding a video, this is your most subjective part. If you want to find a sweet spot for yourself I would suggest setting the encoder to encode a small section of a sample video and play around with these settings to find what you like best. This is what works best for me ****
Caveat: RF:0 (lossless H.264) videos will not work on your Nook Color without resorting to software decoding, which currently does not work anywhere near as well or smoothly as hardware decoding. You will most likely get video stutter, audio desync, and other issues (plus the default movies android player won't play them at all.)
Audio:
- Source: Choose your desired (language) track.
- Audio codec: AAC encoding
- Mixdown: Stereo or your choice. Dolby Pro Logic II works fine on the Nook as well.
- Samplerate: Downsample the usual 48k to 44.1. 48k with high bitrates can cause issues on NC.
- Bitrate: 128 if you want to save space, 160 otherwise.
- DRC: 0
Subtitles:
- If you don't watch foreign language (that you don't speak) videos, you don't need to be concerned with this section.
In-depth explanation of subtitling in Handbrake: https://trac.handbrake.fr/wiki/Subtitles
1. Select the correct subtitle track, if it's included in the original file.
1a. If not, find and select the subtitle file (usually a .srt) to include as a track. Make sure this SRT is actually meant for the (original) video that you are encoding, or you will have desync issues with audio / video
2. The default video player in CM7 doesn't seem to support soft subs, and many players do not (Mobo is one that does but only for selective formats). If you find one that does and care about soft (can be turned on and off) subbing, then ignore 2a.
2a. Burned In is checked on. This hard-writes the subtitles track onto the actual images so they become part of the video. This means you cannot turn them off. This might be an issue if you decide to watch the video on a larger screen, e.g., 1080p tv (jagged edges from being upverted) , but why you would want to watch a low res non-HD video encoded for the Nook on there is beyond me
Forced Only and Default are not checked.
2b. If soft subbing, don't enable Burned In. Regarding Forced Only see the Handbrake guide linked above.
3. Handbrake specific: Click on Add to make sure it's actually added as a track to your encoding.
Chapters:
If you want to be able to move around your video the way you can on a regular DVD (divided into sections that you can >> to rather than manually dragging the bar), you can enable chapter markers. This may or may not be supported on your choice of video app for Android. What this also does is force the extension (.xyz) to change from .mp4 to m4v, which (in short) is the correct nomenclature anyway but we're used to the .mp4 extension thanks to Apple.
If your player is having issues with the m4v extension, keep Chapter Markers unchecked (also make sure that Handbrake is set to name the file as .mp4).
Advanced: (Handbrake) Leave as is.
Hope this helps. Let me know if you have any questions
* - I am not in any way endorsing the copying or re-encoding of copyrighted materials, even for personal use.
EverythingNook said:
thanks for the info! so avi files dont need to be converted?
Click to expand...
Click to collapse
It depends on the AVI file. If the bitrate is too high or the resolution is above the maximum that the Nook supports (854x480), or both, your video app may attempt to play it in software decoding mode, which at the moment isn't very good.
angomy said:
Encoding time depends on the source vs output somewhat, but normally it takes anywhere from 1/2 to 1:1 the time length of the video to encode, regardless of the encoding software (I've used Handbrake, DVD Catalyst 4, Videodub(mod), and a handful of others over the years).
My solution for this is just to batch queue a bunch of files to be re-encoded and do the encoding overnight when I'm sleeping
My settings (for any encoder, but I'll put them in order for Handbrake here):
Container: MP4 file, Ipod 5G support
Picture:
1. If source > 854x480 then set Width: 854, Anamorphic: Loose, Modulus: 16.
2. If source < 854x480 and the bitrate of the original file is high, can upvert to higher res, otherwise same settings.
3. If source< 854x480 and the bitrate of the original file is low, encode at the original resolution with the same settings as 1.
Video Filters: None
Video Codec: H.264
Framerate: Generally same as source, if you have issues force to 24 (or 23.976)
Regarding 1-pass vs 2-pass encoding, see below
Quality/Bitrates:
(Here's the tricky part for quality issues)
For high-action lots of changes animation / non-animated video I prefer:
1. - average bitrate of 1500 kbps
a) 2-pass encoding if I'm concerned about overall quality (I usually batch jobs overnight when I'm sleeping)
b) 1-pass encoding if I'm in a hurry, it's good enough for many videos
For things that don't require a lot of movement and have large areas of flat color, like say, South Park*:
2. - (constant) RF:20 resulting in 1/2 the file size of the bitrate used in 1.
**** Out of all the parts of encoding a video, this is your most subjective part. If you want to find a sweet spot for yourself I would suggest setting the encoder to encode a small section of a sample video and play around with these settings to find what you like best. This is what works best for me ****
Caveat: RF:0 (lossless H.264) videos will not work on your Nook Color without resorting to software decoding, which currently does not work anywhere near as well or smoothly as hardware decoding. You will most likely get video stutter, audio desync, and other issues (plus the default movies android player won't play them at all.)
Audio:
- Source: Choose your desired (language) track.
- Audio codec: AAC encoding
- Mixdown: Stereo or your choice. Dolby Pro Logic II works fine on the Nook as well.
- Samplerate: Downsample the usual 48k to 44.1. 48k with high bitrates can cause issues on NC.
- Bitrate: 128 if you want to save space, 160 otherwise.
- DRC: 0
Subtitles:
- If you don't watch foreign language (that you don't speak) videos, you don't need to be concerned with this section.
In-depth explanation of subtitling in Handbrake: https://trac.handbrake.fr/wiki/Subtitles
1. Select the correct subtitle track, if it's included in the original file.
1a. If not, find and select the subtitle file (usually a .srt) to include as a track. Make sure this SRT is actually meant for the (original) video that you are encoding, or you will have desync issues with audio / video
2. The default video player in CM7 doesn't seem to support soft subs, neither does either of my preferred video player apps (mobo and vitalplayer neon). If you find one that does and care about soft (can be turned on and off) subbing, then ignore 2a.
2a. Burned In is checked on. This hard-writes the subtitles track onto the actual images so they become part of the video. This means you cannot turn them off. This might be an issue if you decide to watch the video on a larger screen, e.g., 1080p tv (jagged edges from being upverted) , but why you would want to watch a low res non-HD video encoded for the Nook on there is beyond me
Forced Only and Default are not checked.
2b. If soft subbing, don't enable Burned In. Regarding Forced Only see the Handbrake guide linked above.
3. Handbrake specific: Click on Add to make sure it's actually added as a track to your encoding.
Chapters:
If you want to be able to move around your video the way you can on a regular DVD (divided into sections that you can >> to rather than manually dragging the bar), you can enable chapter markers. This may or may not be supported on your choice of video app for Android. What this also does is force the extension (.xyz) to change from .mp4 to m4v, which (in short) is the correct nomenclature anyway but we're used to the .mp4 extension thanks to Apple.
If your player is having issues with the m4v extension, keep Chapter Markers unchecked (also make sure that Handbrake is set to name the file as .mp4).
Advanced: (Handbrake) Leave as is.
Hope this helps. Let me know if you have any questions
* - I am not in any way endorsing the copying or re-encoding of copyrighted materials, even for personal use.
Click to expand...
Click to collapse
wow man thanks for the amazing info, i will try these out!
To add to this, I'm watching a 1-pass, 1500 kbps average bitrate (44.1/AAC/160kbps audio) hard subbed movie at the moment and tbqh I'm not sure if it's even worth it to 2-pass encode --- if you're really anal about any artifacting you may want to 2-pass, but for me it's not worth the extra time to encode unless I'm batching up for the night. To give you an idea of the size/time ratio, one minute of encoded video with these settings is ~12MB/min.
25 min episode: 300MB
2 hour movie: 1.44GB
If this is unacceptably large, I would suggest trying RF:20 fixed bitrate (which is roughly 1/2 the size) to see if you don't mind the occasionally visible artifacting.
Also, Mobo player doesn't seem to want to expand the videos edge-to-edge, but VitalPlayer and the default movie player both do. Unless I'm doing something wrong with Mobo, which is a possibility since I use VitalPlayer Neon the most. <-- never mind, I had clicked something in Mobo that prevented it from doing so initially, but they actually do display edge-to-edge by default.
angomy said:
It depends on the AVI file. If the bitrate is too high or the resolution is above the maximum that the Nook supports (854x480), or both, your video app may attempt to play it in software decoding mode, which at the moment isn't very good.
Click to expand...
Click to collapse
Using Moboplayer (free) software decoding, I have no issue watching 704x400 AVI(xvid with mp3 audio). No skipped frames. Total bitrate of 1.3mbits (including audio I believe).
Like I mentioned, I am using OC kernel at 1.1GHz though.
i used tool to converter my videos to mp4, h.264, 854*480 for playing on nook color, all are ok. i can play in full screen with high quality.
i also tried handbrake, and i think it is difficult to use, which takes me a lot of time to import my video.