I am working on a bit of an experimental project… I want to remove i-frames from my video file. I am able to accomplish this as i intended in the open-source software avidemux, but only for .avi files. However, avidemux is buggy/incompatible with h264 formats, and I would very much rather use mp4 in h264 since
a. it seems to me that it can preserve far more quality than avi. and since
b. avi is quite incompatible with fcp, so working in mp4 would save me time and quality degradation resulting from converting back and forth between avi and mp4…
so my question is, is there an alternative to avidemux that allows you to accomplish this for mp4/h264?
I am working with no audio.
Also, if you have any other suggestions clarifying things i may have overlooked or misunderstood, please let me know
Finaly, Im using OS X 10.6.8, but as a last resort I would be happy to use a Windows or Linux program if that was the only solution out there.
+ Reply to Thread
Results 1 to 10 of 10
...and why, WHY would you want to? Too much time on your hands?
I may be completely wrong as I never work with mp4 files, only DV-AVI and DVD compliant mpeg2, but will you even have anything at all if you remove the I frames? Assuming mp4 is a better compression than mpeg2 but works in the same way, the I frames are the only ones that contain the full frame. An I frame is sent that is the complete frame, subsequent intermediate frames are simply a code saying, the same as the last frame except for this bit, this bit, and this bit, then when the next I frame comes along, it can compare the guesses made on previous frames and confirm they are correct. If you remove the I frame there is nothing to reference subsequent frames to.
will you even have anything at all if you remove the I frames?
Your knowledge is correct with regards to how mp4 and mpeg2 work. And I am well aware of how the compression works by having i-frames that hold all information of the one image, while P and B frames save file space by only holding reference information that is based on the i-frame. Essentially, what I successfuly did with avi files and would like to do with the mpeg files is in fact remove the i-frames and intentionally create a broken file, with missing information... Though the file that is produced is not readable by all players, the players that do read it show strange pixelated corruption that appears as a result of these references being missing/wrong... Like I said, this is experimental, but it does in fact work with avi files, and in 'real life'(like on tv or something - natural error) when an i-frame is somehow missing in an mpeg file, it should have the same effect.... so instead of it being an accident, I want to intentionally recreate this... but the tool i have used(avidemux) does not support h264
Finally, in avidemux, the iframe is quite simply removed by setting an in point and out point to make the selection of the frame and then you just press delete on your keyboard or under the edit menu.. so if you know of any other software out there that has the same/similar capabilities as avidemux but supports h264, I imagine that that would do the trick!
...and yes, the popular term is datamoshing
Thanks for your input!
you could edit the file with a hex editor:
* NAL Units start code: 00 00 01 X Y
* X = IDR Picture NAL Units (25, 45, 65)
* X = Non IDR Picture NAL Units (01, 21, 41, 61) ; 01 = b-frames, 41 = p-frames
* since frames can be splitted over multiple NAL Units only count the NAL Units with Y > 0x80