Hello, I'm having trouble converting videos to my portable player. Lately, all of my videos look like they've been resampled to low-res using the ugly nearest neighbor technique. My player supports WMV3 (which I never use), Mpeg-4 ASP, and Mpeg-4 AVC. Here's where I think the *real* issue is...
I've noticed that, at least with the XviD encoder, everything looks ok until quarter pixels come into play. Then, aliasing takes over. I have used 4-tap Lanczos to resample the video to my player's native screen resolution (320 x 240). It seems that bitrate is errelavent here. I have also tried a few different downsamplers (bicubic, bilenear, ect.) with the same results. I'm left to assume that my player is not able to *correctly* decode quarter pixels. So, I just use XviD without quarter pixels for a while. That seemed to work okay, butt..
I'd really like to use x.264 instead, as it is capable of achieving higher quality than XviD with lower size. Is there a switch to disable q-pel?
Now, here's some information about my player. It's a Sansa Fuze+ from sandisk. It is able to player a variety of framerates, and a number of resolutions up to it's native screen resolution (320 x 240). It uses the avi, wmv, and mp4 containers, supporting wma v2, mp3, and aac audio (plus Vorbis and Flac, but those don't seem to work except when in playing music/audio). It seems to handle custom Mpeg-4 ASP quantization matrices just fine, but does not support B-frames. Also, for AVC, it supports only Baseline @ Level 2 or lower.
Any help here would be appriciated.
PS: for some strange reason the sample videos included with the device use AVC without problems. Perhaps it has to do with the encoder? (These videos were encoded with quicktime).
+ Reply to Thread
Results 1 to 21 of 21
The problem with AVC could be a lot of things. See the table here (scroll down a ways):
QPEL is a problem for most MPEG 4 ASP devices but I haven't heard of it being a problem with AVC devices. But try the subme setting:
I'm not so sure AVC with all those restrictions is going to compress any better than Xvid.
I have tried using the "fullpel" setting, before, without sucess. Everything still looked bad. I think this device is somehow able to use one decoder for both ASP and AVC. So, perhaps maybe that's part of the problem. I've played with every setting I can think of (although I've never used any command lines, just front-end gui programs like XviD4PSP and X-Medie Recode). Partition macroblocks, maximum quantizer delta, maximum quantizer, minimum quantizer, deblocking, bitrate variance, quntizer compression, motion estimation, ect. Nothing seems to work
Did you try using no b-frames? Try the Ultrafast preset. In Xvid4PSP start with something like x264 Q18 Fast, then change the preset to Ultrafast and the CRF value to something more reasonable for your device. In the low 20's?
Last edited by jagabo; 11th Sep 2011 at 18:38.
As I said, before, my device supports Baseline @ level 2. Hence, it is impossible to create b-frames with any Baseline profile, therefore if I try to play any AVC files with B-Frames, my player will just flash a warning saying that the video is incompatible.
PS: how do I tell if my videos are using the "Baseline" profile or the "Constrained Baseline" profile? Will MediaInfo tell me?
upload a sample video that works
Here is a sample video that came pre-loaded on the device.
Can you test this
Hello, sorry for taking so long to reply, but I was busy with life. However, I have a few interesting things to say.
First off, your video worked fine. A little undersaturated, but my player seems to do that to every file.
Second off, I could have sworn my player only supported on reference frame. I've tried multi-reference frames before, only to be met with a "Unsupported File Type" error. However, I accidentally added a 3-ref video and it played fine (I later realized that, and was quite shocked). So, after a few experiments, I have determined that my player seems to like videos that have no more than seven reference frames.
Third off, I realize I'd done somthing stupid. First I noticed that the files with the worst aliasing were Lucas Film dvd rips. After some experimentation, I realized that the real problem here was the resizing, not the decompression . Stupid me.
Fourth off, after experimenting with reference frames, I encountered another bug, which I meant to mention right from the start, but forgot. There are a lot of blocking artifacts as well as discoloration that appear out of nowhere, and this is only on AVC videos. Sometimes I have even noticed it in the black borders above/below a video, even when the source was not anamorphic (I tend to letterbox everything using the "Black" aspect ration correction option inside XviD4PSP 5). I wish I could make a screenshot of what's happening, but the artifacts do not appear on my computer. So, I have placed a badly photoshopped version, to show what I am talking about.
Notice there is a bunch of green at the bottom, and spots of grey in the middle? If I were watching the video with my device, the grey spots would be square-shaped (GIMP would only let me create round dots), and would change position on the screen based on the motion that is taking place. It must be a motion-decoding bug, since these artifacts tend to suddenly disappear (the video probably reaches an I-frame). Then there is little to no distortion for a while (sometimes never).
The green bar at the bottom is often a result of a decoder that requires certain frame sizes but being given a video that doesn't conform to those requirements. Eg, a decoder that requires mod 16 frame dimensions but being given a mod 2 video.
Here goes the handbrake video setting I use, make sure the audio is aac and the video is resized to 320Xxxx with ANAMORPHIC DISABLED, and the mp4 container set to non-64 bit. the resulting videos plays nicely on my sansa fuze+ with none of the problems you describe @crf18 with decomb, deinterlace set to default and framerate set to source with a max of 29.97fps. and yes make sure its a mod16 resolution
after bframes=0 its suppose to be ( colon and the letter p) but the post shows a smileyif all else fails read the damn manual
I have no idea what you guys are talking about with this mod stuff. Are you referring to resolution? Sandisk recommends 320x240, which I use. Strangely, I have just converted a Youtube video, and got massive artifacts... but they all disappeared when I re-encoded the video without MB Tree. So, I've tried to convert the video a third time, with somewhat extreme settings, and the picture was flawless. File size was incredibly inflated, though.
Here are the settings I used:
cabac=0 / ref=7 / deblock=1:1:1 / analyse=0x1:0x31 / me=umh / subme=0 / psy=1 / psy_rd=2.00:5.00 / mixed_ref=1 / me_range=20 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=0 / weightp=0 / keyint=300 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc=crf / mbtree=0 / crf=22.0 / qcomp=1.00 / qpmin=10 / qpmax=69 / qpstep=5 / ip_ratio=1.40 / aq=2:2.00.
PS: Dannyboy48888, how on earth did you get a compliant AVC video with ref=0? Unless you used only I-Frames?
mod N means integer multiples of N. Eg, mod 16 = 16, 32, 48, 64... So 320x240 is fine -- both are mod 16.
baseline@level 2 as you know does not allow b-frames frames, in Handbrake(x264) anything other then ref=0 turns on 1 b-frame, to use as a reference which breaks compatibility. so yes the video is all i-p framesif all else fails read the damn manual
But, P-Frames use the previous frame as a reference frame, does it not? That's why the call them "Previous Frames". I assume that having multiple reference frames could mean using several previous frames to draw from (and several future frames as well, if you use B-Frames). From what I understand, this is especially useful with videos/scenes that have little movement, such as cartoons/anime.
Anyway, I've returned to this forum to announce that I got overly excited, and am still having issues. It seems that using aq=2:2.00 was a mistake. I will need to investigate further, but I think I've made some progress. Maybe my player just like excessively high bitrates, or perhaps there is some qp it just doesn't like.
AQ settings are unlikely to cause problems with playback . Weightp can cause problems , but you have disabled that. MB-Tree can potentially cause problems only because of bitrate spikes ,but you used a high qcomp =1.0 , so that reduces MB-tree significantly. With 1 pass CRF encoding, you might be surpassing bitrate limitations of your device. I used VBV settings to limit the bitrate issues in the sample file above
Use 1 ref frame, and set the max keyframe interval to 100 . (--ref 1 --keyint 100) . That's what it was in your sample test file.
I also set VBV settings --vbv-maxrate 1000 --vbv-bufsize 1000 . Most devices require buffer settings.
The muxer also used "mp42" not "isom" as used by mp4box, you can see this in the mediainfo report, not sure if that makes a difference - that's why I re-wrapped it with ffmbc
Codec ID : mp42
you are right TSJNachos, thats why I said in handbrake it does this. Don;t know if its a bug or intedned, but if I set ref=0 everthing goes fine, ref=1 enables b-frames for me and I'm not sure why. I do know that my profile does work, without the errors you describe, and figured it would help is allif all else fails read the damn manual
I had a sansa fuze until two months back (i have given to a buddy)
It was fuze(v1) not fuze+, here is my experience if it helps.
It is an excellent audio player, But video sucks. I have seen green bands as you did. Fuze do not support AVC/X264 only ASP and avi.
qpel and packed stream is not good for any stand alone, I have same exp with creative zen (which is very very better in video).
Fuze is very picky about muxing, I did not do much research here as I was not interested in video on fuze. No avi from any tool including my favorite xmediarecode failed to play.
There is a tool called Video4fuze (search in google) in abi or fuze forums, which has a special muxer called fuzemux.exe which is hosted on googlecode. It also uses mencoder for actual encoding job. The videos converted with this tool played well on fuze.
I am NOT using a Fuze. I am using a Fuze+. The plus sign at the end is important. It is a completely different player (but from the same manufacture) intended to replace the Fuze. Do not confuse it with the Fuze v2. Fuze v1 and Fuze v2 are basically the same thing. You are right... the Fuze does not support anything but mp3 + Mpeg-4 ASP in a specially muxed avi. But the Fuze+ does not play AVI's well, especially long ones. It *should* be compatible with old Fuze videos (even ones created with Video4Fuze), and is less picky about muxing... but it tends to crash with AVI's. MP4's work much better, even with the same a/v streams (I tested this theory by remuxing The Fellowship of the Ring with MP4Box, and it became much more reliable).
Also, another video that came with the device uses a bitrate of 1024, so I doubt that VBV settings can change anything (in fact, i seem to recall once using an iPod preset with XMedia Recode, and it used a vbv of seven hundred-something, I think).
Plus, I once downloaded a video (mp4 format) from youtube that absolutely would not play, even though the streams were supported. MediaInfo told me why: the first stream was the audio, and the second was video. So, i wasn't used to creating MP4's and was experimenting with different muxers. For this video, i decided to play with MP4 Muxer, and remux the streams. The output file was MP42, yet it still had the same artifacts.
I will give the keyint=100 setting a try.
Recently it seems that I have way fewer blocking artifacts, now that I am using less AQ. And after watching a problematic scene on my pc with FFDShow's "visualizations" setting programed to show the quantizers, I noticed that the quantizers on top of anamorphic pictures were more compressed than the pixels on bottom. In fact, the quantizers on bottom seemed to change rapidly on some scenes, while the ones on top were mostly static. That made me realize something: I have never had a problem with the black bars on top, just the ones on bottom. Less AQ made both top and bottom remain similar, and produced fewer artifacts to begin with. Strange, right?
I'll keep experimenting.
Well, I've just converted three more videos recently, and they seem to work ok. One of them was The Two Towers, and it looks great so far, although I am only half way through. If i have more problems, I will post them. Of course, I am still open to suggestions. Thanks a lot, everybody!