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.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 AVC / H.264

Reply
 
Thread Tools Search this Thread Display Modes
Old 30th June 2010, 01:45   #1  |  Link
audiohominis
Registered User
 
Join Date: Jan 2006
Posts: 129
Would Joining Multiple MP4s introduce Problems?

The objective is to encode a set of camcorder AVC clips to a single detelecined progressive MP4 movie using MeGUI. Normally I would use SegmentedDirectShowSource() but apparently, in this case, while well under 100 shots, the total footage amounts to more GB than my computer could handle.
So, I manually merged the clips in the timeline of a video editor (the old fashioned way) but it seems to interfere with the native pulldown, which as far as I can tell makes telecine reversal pretty much impossible.
Now, I want to IVTC each clip individually then try and YAMB-concat them.
Question: Provided, of course, that all clips are of exact same format, would joining hurt them in any way? We're ultimately looking at 360, PS3, BluRay, and iPhone here.
Thanks
__________________


CPU: Intel® Core™i7 930 @ 2.80GFz 2.79 GHz (8 cores)
GPU: NVIDIA® GeForce® GTS 250
SYS: Windows 7 Ultimate x64
RAM: 6.00 GB


audiohominis is offline   Reply With Quote
Old 30th June 2010, 22:17   #2  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,989
If all your clips are of the same format (i.e. x264 encoding options etc), it shouldn't be a huge problem. I do see some potential for error when it comes to VBV, but i'm not totally sure.

I think a better solution would be to process each clip separately into a high bitrate mezzanine file - maybe lossless H.264 or perhaps something like --crf 14. Then you can load them sequentially into an avisynth script, and generate your various outputs.

Plus, this way you only have to deal with tons of separate clips one time.

Derek
__________________
These are all my personal statements, not those of my employer :)
Blue_MiSfit is offline   Reply With Quote
Old 1st July 2010, 00:40   #3  |  Link
cacepi
Just as bad up as down.
 
Join Date: Nov 2005
Posts: 166
Quote:
Originally Posted by Blue_MiSfit View Post
I think a better solution would be to process each clip separately into a high bitrate mezzanine file.
Why not just use UnAlignedSplice or AlignedSplice and skip a generation?

Code:
A = Source().IVTC()
B = Source().IVTC()
C = Source().IVTC()
D = Source().IVTC()

(Un)AlignedSplice(A,B,C,D)
Resize and/or process to taste.
cacepi is offline   Reply With Quote
Old 1st July 2010, 21:39   #4  |  Link
audiohominis
Registered User
 
Join Date: Jan 2006
Posts: 129
okie dokie

@Blue_MiSfit

Actually, (near)lossless intermediates is my usual way of doing things. However, for small personal projects like this avoiding that extra step (skipping a generation, in cacepi's words) is my point exactly. Besides, the final step of your proposed solution involves exactly what made even my relatively high spec PC choke, which was the problem to begin with, if you recall. On the other hand, are you're implying that chances are better if all the script does is just load without processing/filtering even if the files themselves would be several times larger? I'm clueless about the program's memory management and processing mechanism. Either way, large intermediates is last resort.
BTW, going back to concatenation, a quick test with just two vids suggests that unlike pre-muxed MP4s, where you're stuck with the last frame of vid1 while hearing the audio of vid2, raw H.264 streams join alright.
@cacepi
AlignedSplice() won't have the memory footprint and problems of SegmentedDirectShowSource() that I just talked about?
__________________


CPU: Intel® Core™i7 930 @ 2.80GFz 2.79 GHz (8 cores)
GPU: NVIDIA® GeForce® GTS 250
SYS: Windows 7 Ultimate x64
RAM: 6.00 GB


audiohominis is offline   Reply With Quote
Old 2nd July 2010, 00:46   #5  |  Link
cacepi
Just as bad up as down.
 
Join Date: Nov 2005
Posts: 166
Quote:
Originally Posted by audiohominis View Post
AlignedSplice() won't have the memory footprint and problems of SegmentedDirectShowSource() that I just talked about?
I made a couple of videos this way some years ago, replacing credits and/or copyright warnings for different languages by splicing in the correct clip. I don't remember having any problems, and the machine I used was a great deal less powerful than yours (AMD64 3200+, 1GB RAM).

I'd imagine AlignedSplice() would be more lightweight than DirectShow, but since I've never used DirectShow in AVIsynth I can't guarantee an answer. I'd try it for a few clips - say 20 - and see how well it scales.
cacepi is offline   Reply With Quote
Old 2nd July 2010, 01:11   #6  |  Link
kemuri-_9
Compiling Encoder
 
kemuri-_9's Avatar
 
Join Date: Jan 2007
Posts: 1,348
(Un)Alignedsplice are both used for concatenating multiple videos together that have the same properties.
most people don't see nor use (Un)AlignedSplice as a function as they usually use the + and ++ operators instead.
This in no shape or form avoids having to decode the sources into avisynth.

in fact, SegmentedDirectShowSource() is a convenient alias for UnalignedSplicing all the different videos after decoding each of them with DirectShowSource separately.
__________________
custom x264 builds & patches | F@H | My Specs
kemuri-_9 is offline   Reply With Quote
Reply

Tags
avisynth, concatenate, join mp4 merge, megui, yamb

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 14:18.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.