Log in

View Full Version : Help with Graphedit


molitar
16th December 2005, 00:49
Ok I got a bad mkv file. If I demux it than the avc video file has no identifying tag. So I have managed to convert it to xvid using graphedit but I want to keep it in the 264 format. What I did to create the xvid below. But what do I need to change the xvid decompressor to x.264 decompressor because everything I have tried I can't get the muxer to accept the output. Something I am missing.

bond
16th December 2005, 01:13
moved, next time use a title describing the content of your post plz

multicone
16th December 2005, 04:56
Did you try mkvextract from the mkvtoolnix package to extract your h.264 AVC video ?

foxyshadis
16th December 2005, 07:53
I notice you're using the same file name for input and output, I hope they're not the same folder...

Otherwise I know so little about directshow muxing that my guesses are probably all wrong.

Dmitry Vergheles
16th December 2005, 12:22
Ok I got a bad mkv file. If I demux it than the avc video file has no identifying tag. So I have managed to convert it to xvid using graphedit but I want to keep it in the 264 format. What I did to create the xvid below. But what do I need to change the xvid decompressor to x.264 decompressor because everything I have tried I can't get the muxer to accept the output. Something I am missing.

Well, actually it's difficult to understand what do you really need.
But if you want to remux AVC MKV file withour re-encoding I suppose it's not so simple since AVI format is not friends with B frames. But you can use AVC encoder instead XVid one and if you configure it to produce GOPs as IPPPP (without B frames) I think AVI muxer will eat such a video.

molitar
16th December 2005, 16:23
The problem is the avi file.. the h.264 file whoever made it didn't do it correctly. While it's inside of the matroska format graphedit can read it and play it. But as soon as I extract it NOTHING will read it or convert it they don't recognise it as any playable format. I don't know who compiled this one but they sure didn't know what they were doing. So while it is inside of the mkv file I need to convert it to a properly formatted h.264 file. I was able to convert it to xvid format as shown above but the quality was so low compared to h.264 and nearly twice the size of the original file that it was really unacceptable xvid is good if you can do a 2 pass but but I don't see any way to do a two pass with graphedit so I would like to convert back into a proper h.264 video format.

I almost got it but I can't seem to find a compatible muxer for the nero decoder.. here is what I got to work to a video render but when I try to write to a file it says incompatible types..

video file out > Nero Video Decoder > 3ivx D4 Video Encoder > 3ivx D4 Video Decoder > Direct VOB Sub > Video Render.

this works but when I try to connect it to file write instead of video render I get this message... 'These filters can not agree on a connection. Verify type compatibility of input pin and output pin.' So my issue is what do I need to do the final connection to make this work to write out to a file? The video out of this video render is very good quality now if I can just get it to write it to the actual file.

stephanV
16th December 2005, 16:31
you are extracting to raw; mkvextract cant extract h264 to avi, so you would need a raw h264 parser. Just don't use the graphedit avimuxer in any case, it doesn't even really work that well.

it would be very helpful if you explained what your goal is. I dont think the mkv file is bad, i think your method is wrong.

molitar
16th December 2005, 16:48
stephan ok the video file name is..

seraphim call - 02.mkv

The file is not able to be played it throws up errors the rest of the 12 files from this series work fine. So I tried mkvextract on file 1 of this series the file came out as track 1.avi and ran perfectly even graphedit could identify the file as mp4.

So I than extracted file 2 the file came out titled track 1. with no identifying file extension. I named it to avi as the first one and tried opening in graphedit it could not open it. Tried using mediainfo on it and it could not identify it. Checked it with fourcc and it had the identifier pyyyy with 2 dots above each y.

But inside the mkv graphedit could play the file. So while it's in the mkv container graphedit somehow identifies that nero decoder can play it and will play it. So it seems to be an improperly coded h.264 file it should identify as Intel H.264 like the other 11 of the 12 files do.

So using the filters above in graphedit it is able to decode and re-encode back to h.264 but I don't seem to know what I need to connect that to file write instead of just rendering it. So my goal is to decode the improper video format and re-encode it back to h.264 properly.

stephanV
16th December 2005, 17:12
cant you open the file in mmg and remux it?

molitar
17th December 2005, 02:49
stephan, mmg? Not familar with mmg but trying virtdub, virtdubmod, tmpeng, ect I has not been able to read the video format file at all. It acts just like any other avi file that is missing the fourcc header. Now AVIMedic was able to open it up showing as...

Selected Filename:
C:\Downloads\01. Anime\Seraphim Call\
Track1.avi
Size:
222.6Mb (227,860Kb)

FourCC:
pyle-čIrý

That is why I said it appears the header portion is completely off or corrupt in this file.

molitar
17th December 2005, 10:35
Ok figured out mmg is mkvtools so no that wouldn't help since I needed to convert the bad file missing the header into a proper encoded file. The mkv container wasn't the problem.

Now to all I have found a solution that works.. so the summary below...
----------------------------------------------------------------------------

Situation:

1. matroska file that has a bad h.264 avi file inside of it.. seems it's missing the header information. After demuxing I have confirmed missing header.

2. Because of the bad file it will only play while inside the matroska file with nero video decoder. Used graphedit to determine this.

3. So problem how do I re-convert this bad h.264 file into a good h.264 file? Well since graphedit is the only program that would open it I tried x.264 and nothing I could do would make it work to do more than render video it just would not connect no matter what I used to the file writer.

4. So I tried the nero digital and even tho the encoder is their seems the encoder will only work with nero's recode the decoder works outside of it but not the encoder.

5. I than tried the 3ivx encoder and again incompatible with the file writer from the encoder nothing I tried to connect with would allow it to work.

6. Finally I tried VideoSoft Video Encoder and it worked BEAUTIFULLY! And with the LEAST amount of filters.. so here is how it looked in graphedit....

Haali Media Splitter --> Nero Video Decoder --> VSoft DirectShow Encoder --> AVI Mux --> file writer

It did it perfectly but since it was a trial encoder only I got about 8 minutes from it.

I'm curious if the beta ateme encoder would handle this one also I may also try FastVDO other than that I don't know what other codecs is as good as this one. Would it been able to fit right where the Vsoft did and properly mux and write the file out? This bad file seems to be the ultimate test for h.264 encoding and I know now I don't like any of the others at all they are totally useless when it counts.

So after trying fastvdo I'll give you all and update so that the only one that I haven't tried will be ateme and mainconcept if I can get my hand on the latter I'll try it.

stephanV
17th December 2005, 10:55
I'm sorry... I'm clueless about what you are trying to say. :(

molitar
17th December 2005, 11:07
I am stating that in all the various codecs I have tried that only one was able to handle a file with missing header information and be able to be tied directly to the avi muxer so that it could than be written back to a file. So out of the current codecs I have tested only VideoSoft so far has proven to be resilient enough to repair an h.264 file with a missing header. Aka like the fourcc that you get with xvid, divx, ect if that is missing the software does not know how to open that particular file.