Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
16th May 2008, 17:26 | #1 | Link |
Registered User
Join Date: May 2008
Posts: 6
|
How can I locate a keyframe in a DivX stream?
Hi guys, major video newbie here.
I'm encoding DivX 3 video using ffdshow, and I'm encapsulating it in Matroska. I'm using mkvmerge, a Matroska utility, to pull the DivX stream out of the container. What I'd like to do is read the stream and locate the keyframes. However, I haven't found any luck finding information on how frames are encoded, other than that DivX 3 is based on Microsoft's MPEG-4 Version 3 codec. Can anyone offer any tips? I couldn't find much when I searched the board. Thanks! |
16th May 2008, 19:51 | #5 | Link |
Registered User
Join Date: May 2008
Posts: 6
|
Long story. I'll try to summarize it:
The project is a DirectShow-based program where one process records video to disk. Another process (also DirectShow based) reads that video, while it's still being recorded to disk, and lets you seek around it. You could loosely think of it as a TiVo, but this is actually for monitoring video output from a scientific instrument. The video will be sync'ed with a considerable amount of metadata. Now that that's out of the way... The project requirements don't really bind me to using DivX 3, but so far anything newer than version 3 won't let me seek around video while it's still being recorded. EDIT -- if it matters, I've done initial testing with ffdshow, which is GPL'ed, so I can't really use that for production anyways. On that note, how can I find keyframes in files recorded with newer versions of DivX? Last edited by boilerlt1; 16th May 2008 at 19:53. |
16th May 2008, 20:35 | #8 | Link |
Registered User
Join Date: Feb 2004
Location: NTSC R1
Posts: 2,046
|
boilerlt1, I see. Your issue is very specific - seeking on a video while recording it, and you say anything above DivX 3 doesn't allow it? I am surprised. If anything, I'd have expected a newer version of an ASP codec to support this. I suppose you have already tried the latest builds of Xvid & DivX?
Why is ffdshow being GPL'd stopping you? AFAIK, GPL doesn't restrict any production usage (however, if you are using it for a commercial purpose and making money of it, then your program should also be GPL'd). Now, about the frame list, I don't think you should reinvent the wheel, when there are existing tools which can do this. Here is one way -
__________________
|
16th May 2008, 20:50 | #9 | Link |
Registered User
Join Date: May 2008
Posts: 6
|
Correct, this is a paid project. I understand mkvmerge is GPL'ed as well, and ultimately we will avoid using anything that doesn't have a commercial-compatible license. There are some killer GPL-based tools out there... but unfortunately we're not in a position to make this project open-source as well.
|
16th May 2008, 21:06 | #10 | Link | |
x264 developer
Join Date: Sep 2005
Posts: 8,666
|
Quote:
Perhaps you should use ffmpeg, which is available under the far less restrictive LGPL? |
|
16th May 2008, 22:49 | #11 | Link |
I dont care so should you
Join Date: Apr 2006
Location: In hell next to the boiling pit of Lava...
Posts: 989
|
You know you could hit the Divx guys up on a feature request for the read behind writing ability that divx 3 has...
Probubly not going to happen so If not I would go with ffmpeg...
__________________
My Installer's || |
Tags |
divx, keyframes, matroska |
Thread Tools | Search this Thread |
Display Modes | |
|
|