Changing settings for different portions of video
I've search here, on Apple and on the web about this but couldn't find what I was looking for. I was surprised since what I'm trying to do seems like something a lot of people would need to do.
Anyways, I have this 20 minutes 720p video I need to compress for the web (good quality with lowest file size possible). I've been working with Apple Compressor for now.
The video has clean static images that compress well at 2mbps (average) but also contains grainy (heavy film grain) sequences that require 5mbps to look adequate.
Now, I've played with the VBR settings but it doesn't give the control I would need.
When I put a higher peak bitrate, it doesn't give the data the grainy stuff requires.
And if I increase the average bitrate, the video ends up too big.
Can I do what I'm looking for with a software on the Mac? i.e. have the ability the change the settings for specific portions of the video, tell the app, "2mbps for this video but here, here and here, 5mbps"??
[Gabriel Bergeron] "I've played with the VBR settings but it doesn't give the control I would need. "
Not enough info to know what you've done. You'd probably want to use an unconstrained two or multipass VBR encode. If you're using Apple's H.264 it's one of the worst in the industry. You can't even use CABAC as it's only CAVLC entropy encoding. There's also no control over B-Frame frequency and Reference frames.
You should test with Telestream Episode (my preference) or Sorenson Squeeze.
You could import x264 codec and access that from Compressor or Quicktime Pro as well.
Hi Craig, thanks for your answer.
Yes I was using Apple's H.264 in Compressor.
I hate Compressor really, I have so much trouble with it (ex: stability). So you've easily convinced me to get something else.
Not being a compression pro, would my goal of telling the encoder to use Xmbps here and Xmbps there be considered a normal feature and something normal to do? Something easily done in the other apps?
And does that manual intervention have a name?
Unconstrained encoding may be an answer, but it's still automatic, isn't it...
I'm checking telestream Episode but no mention of what I'm looking...
[Gabriel Bergeron] "Not being a compression pro, would my goal of telling the encoder to use Xmbps here and Xmbps there be considered a normal feature and something normal to do? Something easily done in the other apps? "
Some of us would really like a feature like that. It's not in any H.264 software based compression apps I know of. I remember Microsoft was considering something like that for Expression Encoder at one time.
Basically using unconstrained two or multipass VBR encode should raise and lower the bit rate as needed while attempting to keep the total average near the target bit rate. Of course what goes up at one place must come down elsewhere to maintain close to the average. Sometimes such radical changes can result in problems though. Key frame and B-frames and impact the bit allocation as well. As you might guess this makes for some "educated" guesswork and tests rather than targeting bit rates to specific areas.
With MPEG2 encoding for DVD, for example, one can use compression markers around difficult passages but there's nothing quite like that with most "web" based codecs.
[Gabriel Bergeron] "Unconstrained encoding may be an answer, but it's still automatic, isn't it..."
Well one hopes the codec assigns the bits intelligently. Doing two or more passes means the encoder examines the file for a bit so it can make some "intelligent" decisions about assigning the bits. Sometimes you just have to raise the average bit rate higher so there aren't any "bit starved" areas. Again Episode and Squeeze use the much better MainConcept codec and have a lots of settings that can improve things. For free you can try x264 which also handles such things better than Apple's H.264.
BTW with all the chatter about FCPX and the rest of the suite I'd be interested to see if Apple's done some work on its H.264 encoding. Given what you're going through, it might really be an important under the hood change.
I am bumped and surprised that such a feature (manual bitrate settings for portions of video) is not available. It would make things so much easier sometimes.
On a side note, isn't it at least a feature pro compressionists have on hand for DVD and Blu-Ray authoring?
1) I did lots of tests with Episode and Squeeze. It's not working. I tested with A LOT of different settings. The grainy footage always breaks down. I'd need to increase the overall bitrate too high.
2) I see one solution left: compress the video in separate sections using different bitrates and put them back together afterwards. I had tried this before with QT pro (copy pasted files and "saved as") but I ended up with out of sync audio.
--> Would you know of any workable way to compress different H264 files and glue them back together resulting in a playable video?
3) While I was testing with MainConcept h264, I noticed the grainy footage never looked as good as with Apple H264, even at high bitrates. I did a test and, surprise, Apple handles the grainy footage better at the same 4.5 mbps) see files: http://www.mediafire.com/?ncw38t8d5e5f4pc
also original for comparison (prores): http://www.mediafire.com/?rmdtjsxhzay5dn6
• Maybe there's a way to make it work BUT I'm already late for this project so I think I'll need to use the segments solution outlined in #2. *** But I'd need a way to glue the files together that works!!!!!
I've never tried this for web compression, but your segmentation route is the way I do it for DVDs. You naturally need chapter markers for your videos, so I export separate reference movies from FCP for compressor for each chapter. Then I compress appropriately for the content in that chapter.
The interesting part about applying this to web is the "glue". If you cut/copy/paste in QuickTime, how do you then save the final version? You could make a reference movie, but that gets kind of messy having to keep track of all those files to show one video. If you export to make a self-contained video, then it will re-encode the whole thing. If you "save as..." and select self-contained - well that would seem to be the correct solution, but what does it do to the final video? Never tried it and with you saying that the audio gets out of sync makes it very intriguing. Please keep us updated.
[Terry Mikkelsen] "The interesting part about applying this to web is the "glue". If you cut/copy/paste in QuickTime, how do you then save the final version?"
Yes doing the "save as" option wouldn't re-encode anything. Theoretically, it would export the video as is. But being a delivery format, h264 didn't support that very well.
Back in the days when I made DVDs, I used MPEG streamclip to "glue" mpeg2 clips together. Maybe I'll dig it up and try it with h264.