View Full Version : What happened with DirectShowSource("x264.mp4")?
sasam
25th February 2006, 16:04
I downloaded new 440 x264 to update my SSIM and PSNR results but I cant open the file with DirectShowSource("x264.mp4").
I can open the version ~390 file but cant open new.
I have newest ffdshow and avisynth.
What happened?
bratao
25th February 2006, 17:02
Have sure that you have the lastest ffdshow.
Here i open witout problem my 439 videos, but the 440 change noting, only a comparative that use trellis without subme=6
You can open the file in VlC ?
bond
25th February 2006, 17:02
can you play the not working file in a directshow player?
sasam
25th February 2006, 17:08
I have ffdshow, x264 and mediaplayer from http://x264.nl.
I can play the file in media player normally, that's why I am asking...
I feel like this kind of stuff only happens to me, like this (http://forum.doom9.org/showthread.php?t=103829) :(
sasam
25th February 2006, 17:18
Here is vdub when I try to open...
http://img525.imageshack.us/img525/8831/vd0ke.gif
bond
25th February 2006, 17:46
try defining a fps in directshowsource
sasam
25th February 2006, 17:48
still the same...
Manao
25th February 2006, 17:53
Get graphedit, open the file with graphedit, and tell us what filters are used when you do so.
sasam
25th February 2006, 17:59
OK its working now:
DirectShowSource("x264.mp4", convertfps=true) WORKS but last two frames are gray
DirectShowSource("x264.mp4",fps=15,convertfps=true) WORKS good
DirectShowSource("x264.mp4",fps=15) DOESN'T WORK
DirectShowSource("x264.mp4") DOESN'T WORK
What is going on?
sasam
25th February 2006, 18:05
Graph seems normal to me:
http://img507.imageshack.us/img507/9903/graph8tg.gif
The file doesnt have audio and it plays in media player normally..
sasam
25th February 2006, 18:19
Maybe I want clear enough. I meant to say that I can play the .mp4 file in media player, but cant open .avs anywhere,
but with older x264 version I could open it everywhere with the same settings, programs and avs scripts...
Manao
25th February 2006, 19:03
I would say it's because around rev390 ( rev 389 actually ), x264 got the ability to output 64bits timestamps in mp4, and that somebody ( either the mp4 parser, or the directshowsource filter ) doesn't handle them correctly. I looked at the code of directshowsource, and couldn't spot any obvious mistake. However, i'd tend to think that the parser - if it's haali's or gabest - is more reliable than directshowsource.
bond
25th February 2006, 19:21
you could try to use the gabest mp4 splitter:
http://ffdshow.faireal.net/mirror/Media%20Player%20Classic/external%20filters/unicode/?C=M;O=A
sasam
25th February 2006, 19:26
I just downloaded haali media splitter from x264.nl and it can open the file with DirectShowSource("x264.mp4") but gray frames randomly appear.
bond
25th February 2006, 19:29
try gabest too
and post the exact commandline, avisynth script and x264 compile you used
unplugged
25th February 2006, 19:44
Yeah sasam same problem here with avs, I think the answer *should* be gabest .ax filter because MPC plays perfectly...
sasam
25th February 2006, 19:47
With gabest: DirectShowSource("x264.mp4") opens but doesnt detect its real fps and also has some gray frames in the middle and the end...
edit:When I set the correct fps then 2 last frames are gray...
bond
26th February 2006, 13:08
and post the exact commandline, avisynth script and x264 compile you usedstill waiting...
sasam
26th February 2006, 13:32
still waiting...
I told you that already...
x264 ver 440 from x264.nl
avs script : x264.avs:
DirectShowSource("x264.mp4")
commandline:
start /low /b /w x264.exe --progress --pass 1 --bitrate 203 --subme 6 --ref 5 --threads 1 --filter 0:0 --keyint 250 --min-keyint 25 --scenecut 40 --qpmin 10 --qpmax 51 --qpstep 4 --direct temporal --me hex --merange 16 --sar 1:1 --bframes 3 --weightb --b-bias 0 --ipratio 1.40 --pbratio 1.30 --qcomp 0.60 --analyse all --8x8dct -o "x264.mp4" "input.avs"
start /low /b /w x264.exe --progress --pass 3 --bitrate 203 --subme 6 --ref 5 --threads 1 --filter 0:0 --keyint 250 --min-keyint 25 --scenecut 40 --qpmin 10 --qpmax 51 --qpstep 4 --direct temporal --me hex --merange 16 --sar 1:1 --bframes 3 --weightb --b-bias 0 --ipratio 1.40 --pbratio 1.30 --qcomp 0.60 --analyse all --8x8dct -o "x264.mp4" "input.avs"
but I also tried slow profile im megui and it is same...
bond
26th February 2006, 13:37
obviously i need the input.avs script you fed x264 with
edit: also how many frames does your source to be encoded have and what framerate
sasam
26th February 2006, 13:57
input.avs:
A=DirectShowSource("!CMP.avi")
A=ConvertToYV12(A)
A
420 frames 15fps
bond
26th February 2006, 14:04
why are you opening the avi via directshowsource?
what happens when you open it via avisource
sasam
26th February 2006, 14:08
I changed it to avisource but still the same...
emmel
26th February 2006, 14:37
Hi everyone,
First of all, thanks for making x264 available, I find it a great piece of software.
Then, I can confirm the feature sesam is talking about. I'm using x264-Std_r408 with default settings of MeGUI. My avs input script is simly MPEG2source("file.d2v"), the source being PAL material (576i from tv) manipulated with DGindex 1.4.6.0. The result "file.mp4" seems just correct, but it does not play directly with DirectShowSource("file.mp4"). It plays, however, with DirectShowSource("file.mp4", convertfps=true).
Regards,
emmel
bond
26th February 2006, 14:49
i now tried to reproduce this and i noticed that when using ffdshow as decoder i get a "system exception - access violation" error when trying to open the file in virtualdub (but only in virtualdub. when i open the file in graphedit, everything is fine)
edit: ok i see the grey frames at the end, but its only there with ffdshow
when using coreavc everything works fine (no errors, no grey frames or whatever)
sasam
26th February 2006, 15:02
I just tried coreavc and it cant determine fps so it works only with DirectShowSource("x264.mp4",fps=15)...but works fine
bond
26th February 2006, 15:05
you should always set the fps anyways...
sasam
26th February 2006, 15:09
you should always set the fps anyways...
What if the fps is some not so round value like 24.31531654684648264824482656684246?
What happened with ffdshow?
bond
26th February 2006, 15:17
What if the fps is some not so round value like 24.31531654684648264824482656684246?than you should ask yourself if you know what you are doing
or you should ask the avs devs if avisynth would handle such a framerate correctly :D
What happened with ffdshow? no idea
sasam
26th February 2006, 15:26
than you should ask yourself if you know what you are doing
or you should ask the avs devs if avisynth would handle such a framerate correctly :D
I asked this because of previous problem with .mp4 (ver<390) where I had to compress to raw stream and then make mp4, and I had some problems hitting the right fps because when its a long movie 0.0001 fps difference does matter...;)
bond
26th February 2006, 15:47
normally streams have sane framerates, so there is no need to mess around with strange numbers like you seem to do
Wilbert
26th February 2006, 17:33
What if the fps is some not so round value like 24.31531654684648264824482656684246?
1) the fps parameter is a float. So you can do better than fps=25 ...
2) you can always use (fps=...,convertfps=true) which ensures sync.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.