Log in

View Full Version : Pixely Start Frames


bnshrdr
18th August 2009, 20:47
The problem I am dealing with here is that the first frame or so is most definitely covered with artifacts. Here is how I am editing my videos.

Take my recorded AVC/TS file from my Hauppauge HD-PVR and cut out the portion I want with DGAVCDec. This demuxes the video and audio, which I then merge with YAMB. From YAMB, I re-encode the file with Handbrake with a lower bitrate/framerate.

I feel like the problem may derive from DGAVCDec not splitting from an I-Frame, but I don't see anywhere in the application where you can seek to an I-Frame. I would cut with Avidemux, but it keeps giving me that "The A Marker needs to be on a keyframe" bullshit even though I used it's seek feature to find the nearest keyframe.

Here is a 10 second sample, but really you only need the first second to see what I am talking about:

http://www.mediafire.com/download.php?qmtczmzatjq

Thanks for any advice. Also I would not be against using Avidemux if anyone could tell me the secret to find the IDR frame. I have tried everything.

nurbs
18th August 2009, 20:51
Why do you demux the video at all if you reencode anyway? Just mark the part you want to keep with DGAVCIndex, demux the audio and index the video. Then load the index file, reencode and mux it with the audio.

poisondeathray
18th August 2009, 20:52
Since you are re-encoding anyway, another option is to do all your edits in avisynth

bnshrdr
18th August 2009, 21:06
Why do you demux the video at all if you reencode anyway? Just mark the part you want to keep with DGAVCIndex, demux the audio and index the video. Then load the index file, reencode and mux it with the audio.

What do I do with the DGA file then?

@poisiondeathray
I don't have a whole lot of experience with avisynth, but I guess I could give it a shot.

nurbs
18th August 2009, 21:15
You load it in an avisynth script and feed it to the encoder.

LoadPlugin("C:\Path\DGAVCDecode.dll")
AVCSource("x.dga")

Don't know if Handbrake can load scripts. In my opinion it's not good software. Anyway it's definitly outdated (at least if you want to encode with x264).

poisondeathray
18th August 2009, 21:22
In avisynth you can cut & append by frames

e.g.

Trim(0,100) ++ Trim(201,300)

Would return frames 0-100, and 201-200, leaving the "commercial" from frames 101-200 out. You can use a visual script editor like AvsP to see where the cuts are, for example. This is frame accurate, so no need to cut on I frames

MeGUI has an avs cutter, which basically does the same thing, you might want to check that out

bnshrdr
18th August 2009, 21:25
Will do! Thanks guys. The artifacting at the beginning is gone now when I use an avisynth script.

Guest
18th August 2009, 22:09
I feel like the problem may derive from DGAVCDec not splitting from an I-Frame. No, it does split at IDR boundaries, but the GOPs are not closed. When you serve through a script, DGAVCDecode replaces the orphaned frames with copies of the first decodable frame.