View Full Version : x264 mkv strange playback problem
PurpleMan
20th January 2008, 08:44
Hello all,
I'm running a Core 2 Quad Q6600, 4gb of RAM and 8800GT card.
Playing 1080p x264 files in MKV container doesn't play smooth (using ffdshow). Unsyncing audio, frame-lags, etc.
The mkv contains the x264 video, ac3 audio and flac audio. CPU usage is on ~40% during playback, and I refuse to believe that my HD (250gb sata2) is having problems keeping up the data rate.
Does anyone have any idea what else could be the problem?
Thanks in advance,
-PurpleMan
Dark Shikari
20th January 2008, 09:00
Your CPU is too slow. FFDshow doesn't support multithreaded H.264 decoding. Get CoreAVC.
Razorholt
20th January 2008, 09:07
Try Mplayer (http://forum.doom9.org/showthread.php?p=1089481#post1089481)
Atak_Snajpera
20th January 2008, 11:39
FFDshow doesn't support multithreaded H.264 decoding
yes it does. It's not perfect but at least gives 30%
Dark Shikari
20th January 2008, 14:33
yes it does. It's not perfect but at least gives 30%The latest FFDshow-Tryouts has a patch that supports multithreaded CABAC decoding. FFDshow itself does not have frame-based threading, yet, as far as I know.
lexor
20th January 2008, 14:53
PurpleMan, when you said CPU usage is 40% did you mean total or of a single core? If the later than you CPU is handling it well and the problem is somewhere else; if the former you should find out what each core's usage is (if one core is maxing out, then you probably need either CoreAVC or one of the players that use video card to help decode, PowerDVD?).
PurpleMan
20th January 2008, 17:27
It seems that all 4 cores are in use during playback
(using Media Player Classic)
The total (of all cores) shows 40% usage.
So I don't think it's a CPU problem, or am I wrong?
Any more ideas? and by the way - I appreciate the help so far! :)
Rodger
21st January 2008, 00:40
DAMN! 4 Cores and 40% usage.
That would be 80%+ on a dualcore same speed.
Thatīs completely out of bounce!!!
Clean up your codecs.
Use the following:
Haali Media Splitter
CoreAVC (or Cyberlink) Codec
AC3-Filter
Playing MKV-File I created myself containing x264 576p + 5.1AC3 in VLC uses less than 5% of a 3,1Ghz Core2Duo.
Playing a TS-File (from PremiereHD german TV-Station) containing h264 + 5.1 ac3 in FullHD uses no more than 20% of the cpu.
PurpleMan
21st January 2008, 08:42
Hi.
I was wrong, one my cores was indeed maxing using ffdshow. I downloaded the XXL build of ffdshow (which supposed to be patched to multithread h264 decoding). plays better, but still stutters at high bitrates (although I don't see any of the cores maxing).
So I installed CoreAVC, which seems to work great.. but only in overlay mode (damnit!). Using VMR9 it stutters even tho none of the cores are maxing.
This is VERY frustrating. Any idea anyone?
Thanks in advance,
-PurpleMan
Dark Shikari
21st January 2008, 08:46
Hi.
I was wrong, one my cores was indeed maxing using ffdshow. I downloaded the XXL build of ffdshow (which supposed to be patched to multithread h264 decoding). plays better, but still stutters at high bitrates (although I don't see any of the cores maxing).
So I installed CoreAVC, which seems to work great.. but only in overlay mode (damnit!). Using VMR9 it stutters even tho none of the cores are maxing.
This is VERY frustrating. Any idea anyone?
Thanks in advance,
-PurpleManThis is because VMR9 is basically a broken renderer. Use Overlay or Haali's.
PurpleMan
21st January 2008, 08:56
But then I lose integrated subtitles support in media player classic :(
and it still doesn't explain why the patched ffdshow is stuttering at high bitrates even tho none of the cores are maxing.
foxyshadis
21st January 2008, 09:58
Task manager is not an effective instrument for measuring threading. 25% means a single maxed out thread whether it's all in one core or spread between all four, because of how the windows thread scheduler works.
If ffdshow can't handle your video, well, not much choice there. Try EVR mode with CoreAVC as well, if you use MPC Homecinema.
PurpleMan
21st January 2008, 10:46
in Task Manager I have 4 graphs (one per core), and none of them are maxing during playback.
Could you elaborate more on "EVR Mode" ?
Rodger
21st January 2008, 12:21
Pupleman already made it clear, that it wasnīt a lack of SMP-Ability.
Second please donīt tell us, that MS own "Task-Manager" isnīt capable of monitoring the cpu correct.
Dark Shikari
21st January 2008, 12:28
Pupleman already made it clear, that it wasnīt a lack of SMP-Ability.
Second please donīt tell us, that MS own "Task-Manager" isnīt capable of monitoring the cpu correct.His point is that a single-threaded application that is maxing out can show as 1/4 on each core, because windows swaps that thread among all 4 cores many many times per second.
PurpleMan
21st January 2008, 12:55
Even if it swaps cores, shouldn't the graph jump to 100% on a single core even for a split second?
regular ffdshow showed 100% on one of the cores
the patched XXL one showed 20% on each one of the cores, and you're saying that it doesn't actually mean that no core is maxing?
I'm confused.
toytown
21st January 2008, 13:53
Even if it swaps cores, shouldn't the graph jump to 100% on a single core even for a split second?
No, it could spent half of the second on core1 and half of the second on core3. So in taskmanager if its updating its results every second, it would show 50% on cores 1 and 3.
As already mentioned the task scheduler can switch cores many times a second.
Rodger
21st January 2008, 15:01
This is absolut non-sense!
Iīve never heard of such behaviour!
Before I get to believe that this is the Problem, I believe that a misconfiguration of codecs or similar is the problem.
Sharktooth
21st January 2008, 15:23
believe it or not, it can happen (say tnx to M$...).
However CoreAVC should work. Can you tell us what version you have?
PurpleMan
21st January 2008, 17:31
Sure, I got the 1.6.0.0 professional edition.
Again, playing it using overlay works perfectly, but playing using VMR9 stutters.
Thanks for all the help!
Trahald
21st January 2008, 20:06
in Task Manager I have 4 graphs (one per core), and none of them are maxing during playback.
Could you elaborate more on "EVR Mode" ?
EVR is a replacement for overlay and vmr9. it is available on mpc home cinema if you are using stock Vista... or xp if you have .net 3
Danisan
22nd January 2008, 00:04
Have you tried setting the affinity to just one of the cores to see how it plays? Right click on the "mplayerc" process in task manager and "set affinity..." then de-select all but one core.
foxyshadis
22nd January 2008, 04:49
This is absolut non-sense!
Iīve never heard of such behaviour!
Before I get to believe that this is the Problem, I believe that a misconfiguration of codecs or similar is the problem.
What part of "Task manager is not an effective instrument for measuring threading." is hard to understand? You don't have any idea how windows thread scheduling works (educate yourself (http://students.cs.byu.edu/~cs345ta/reference/NT%20Scheduling.doc)), and you don't really know how task manager's usage reporting works, but you're adamant that your interpretation of the data must be correct? It's not. Look at the total %, ignore the pretty graphs entirely unless you want to be misled.
bigcat
25th January 2008, 15:26
I also have problems with h264 video in mkv. ffmpeg cannot decode it correctly (video becomes jerky) and it prints many lines of smth like "unknown track header 0x....., ignoring". Plus, video encoded with x264 (-q 30) in mkv container is about 1..3% bigger in size than the same video in mp4 container. This is strange.
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.