What video encoder/settings do you use? - Touch Diamond, MDA Compact IV General

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?

Related

HTC S730 Video playback

Hi everyone.
I know, bad video performance is a known issue (see http://www.htcclassaction.org/).
But on my device I'm not able to play any video file without bucking image. About every second, the image stops for a short instance (I get sick watching this for more than a minute )
I tried different video files with different formats:
- wmv8 with 300 kbp/s, 25 images/s, 320 x 240 with wma8 128 kbit/s stereo (converted using All-in-1 mobile video convert)
- mpeg-4 (H.264)/AVC, between 128 and 1248 kbp/s 25 images/s, 320 x 240 and 64 to 128 kbp/s for stereo audio (converted with SUPER)
- a couple other files found on the web
I tried to play them with the installed Microsoft Media Player. Normally sound is ok, video never is. For the video it seems to make almost no difference what settings I use. mpeg-4 is a bit better than wma8. But between the 1248 kbp/s and the 128 kbp/s video there is no difference (besides th artifacts), It's bucking the same.
Can anyone please tell me, what codec / settings are playable on the HTC S730? Or can someone post an example video file that plays well on his device?
Any help is appreciated!
Window's media player is your problem in this case.
I have Core player and that TCPMP one posted above. If I drop resolution on some of my files I can play them perfectly in core player, and with TCPMP set to low (medium) all videos play fine. High action scenes sometimes cause a little studder so I am going to lower the origional res down a little bit.
The only problem I have run into is on some higher quality ones the phone runs out of page file memory which I currently have set to 1024 within TCPMP. Make sure your phone's memory is clear when trying to watch stuff and you should be just fine. Especially if you are dropping the resolution down that low.
I will try to take a short video of a video playing
Works!
It works! The problem really was windows media player!
Thanks a lot for the hint - I think I'd never try to change the player...
Frame rate is not perfect yet. I still have to figure out what the best settings are, but it is already ways better than before.
Hehe, no problem. WMP is not a well optimized player. For my computer and HTPC I use zoom player, it can handle 720p on a processor that really shouldnt be able to.
Video settings
Hi all.
After spending a lot of my spare time I finally found the right settings for converting videos for the HTC S730.
First I tried to convert videos to H.264/AVC and WM8. This does not produce anything you'd like to look at. Even with very low video bandwidth (200 kbit/s for video) the best I got was below 10 frames/s. With TCPMP it's a bit better than with Windows Media Player but there is no big difference.
But if works fine with the following settings:
Container : AVI
Video Codec: MPEG-4 480 kbit/s
Audio Codec: mp3 44.1 kHz stereo 128 kbit/s
For converting I use the free SUPER (http://www.erightsoft.com/SUPER.html).
This way I get close to 25 frames/s (maybe 10% are dropped).
Please note that such a video cannot be played with the Windows Media Player. (AVI is a Microsoft format, but it looks as the player doesn't like the codec.) However it plays fine on TCPMP 0.71 (from here: http://picard.exceed.hu/tcpmp/)
My daily train rides are much more pleasant now
Luki2 said:
Hi all.
After spending a lot of my spare time I finally found the right settings for converting videos for the HTC S730.
First I tried to convert videos to H.264/AVC and WM8. This does not produce anything you'd like to look at. Even with very low video bandwidth (200 kbit/s for video) the best I got was below 10 frames/s. With TCPMP it's a bit better than with Windows Media Player but there is no big difference.
But if works fine with the following settings:
Container : AVI
Video Codec: MPEG-4 480 kbit/s
Audio Codec: mp3 44.1 kHz stereo 128 kbit/s
For converting I use the free SUPER (http://www.erightsoft.com/SUPER.html).
This way I get close to 25 frames/s (maybe 10% are dropped).
Please note that such a video cannot be played with the Windows Media Player. (AVI is a Microsoft format, but it looks as the player doesn't like the codec.) However it plays fine on TCPMP 0.71 (from here: http://picard.exceed.hu/tcpmp/)
My daily train rides are much more pleasant now
Click to expand...
Click to collapse
With my S710 (has a 200MHz TI OMAP850) I'm streaming 25fps/200kbs of my VLC server (which transcodes digital sat streams in real time). I'm using .ts container, mpeg1 vid, mp2 audio and Coreplayer as client.
I have an episode of Top Gear that I can play in TCMP at mediuam quality, its video rate is 199 / 25 fps.
WMP will only play the non tweeked files, in other words if it was compressed into any codec (xvid, divx, ogg, mkv) and other of the others WMP will not play it unless it has the codec installed. The other players (core player / TCMP) come able to read these files upon install so they work better.
With TCMP most of my files do not even have to be changed, just dump them on the sd card and with the player set to medium quality it goes right through them. Now some high action / motion scenes will cause a little lag or slow down but not much and not for long.
This is soooo ridiculous! WMP worked just fine in the older 200mhz devices! Now we have to switch to TCMP and make sure that no programs reside in memory before playing ANY videos? Ridiculous! HTC is losing a lot of faithful customers with this.
It depends on the type of file's your trying to play.
Just like WMP on the PC, it wont play anything without the codecs for them.

Slow video playback

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?

DVD rip file types...

I'm trying out dvdfab at the moment and was wandering if someone could provide me with a brief summary of the best types of file to convert the DVD to - pros and cons.
Also, why is coreplayer usually recommended over WMP to play movies on the Diamond?
Thanks in advance,
S.
coreplayer:More formats supported, depending on the version, better acceleration support.
it's all down to personal preference really.
I tend to rip my dvds to 640*x resolution so that it is as full screen as possible, but due to the small screen, i keep the bit rate down as you really can't notice the difference most of the time. however, on my athena, i ended up increasing the video bit rate a little due to the big screen!
i tend to aim for around 750kbps bitrate for video using either divx or xvid, and 128kbps mp3 for the audio. tends to give a file size of around 512MB which allows 7 or 8 on the 4GB storage, depending on the exact file size, which is different every time.....
others may have other preferences of course....there's bound to be other threads about this in practically every forum here, so have a good look around, try a few people suggestions and pick your favourite.
Some people will go for quality every time and end up with higher file sizes, some people like me will happily sacrifice a little quality (which is barely noticeable if done right) and go for having more films available!
I usualy encode movies at 320x240 with a bitrate around 700kbs, usig xvid or divx and 128kbs sound. It gives great quality, even though the resolution is only 320x240, but it will stretch automaticaly and you'll hardly notice any loss of quality because the size of the screen is not too big. it's like you would play a regular divx movie (576x????) on your desktop monitor at a much higher resolution. You won't see much loss of quality. And @ 320x240, the file size will be around 300 to 400 mb.
hyellow said:
I usualy encode movies at 320x240 with a bitrate around 700kbs, usig xvid or divx and 128kbs sound. It gives great quality, even though the resolution is only 320x240, but it will stretch automaticaly and you'll hardly notice any loss of quality because the size of the screen is not too big. it's like you would play a regular divx movie (576x????) on your desktop monitor at a much higher resolution. You won't see much loss of quality. And @ 320x240, the file size will be around 300 to 400 mb.
Click to expand...
Click to collapse
I think, it´s a big difference between the resolutions. Yes, a movie 640-480 takes much space, but it´s so sharp, that it makes much more fun. I ripped some concerts to my diamond, and one of them in 320*240...it looks not really great.
Thank you all for your replies. Like you say, i'll have to play around with settings myself, but its nice to have a starting point through other's experiences.
I'm guessing that watching an average dvd movie will totally drain the battery? lol...
Spb Mobile DVD
Is great for converting most types of video.
Very simple to use - plus a great feature is that if the movie is in wide screen format, ie - 16:9 , you can crop it and stretch it while restraining the proportions so none of the screen space is wasted.
You can adjust the quality , and you can preview the final quality of the video before you convert it , you can finalise the file size according to the quality you want.
I tried the rest , and stuck with this.
Use core player , you can play anything with it , even FLV files which you can download/rip off youtube.
You can use the new free version of real player for that
Ripping movies to 640*480 does offer greater qauality,but its takes too much space, since we are stuck with a 4Gigs, 320*240 is more than adequate.
IT doesnt make much of a difference, converted video anyway has lossy quality.

[Q] Best movie settings?

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.

Encoding for the Nexus 7

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?

Categories

Resources