Encoding parts of a video before encoding them all together


#1

I have a question about encoding. I make my videos in parts, usually three or four parts, because when any video goes over 16 minutes on my computer, Shotcut freezes up or crashes. The more data there is - second video track for inserting album covers or an audio track with samples of music - the easier it is for my computer to choke.

Because my videos go on YouTube, I encode each part with the YouTube option, and then stitch all the parts together with a playlist export in YouTube encoding.

This is a slow process. The initial encoding isn’t so bad, but stitching all the individual parts together (intro, first main part, second main part, ending) takes hours for a 40-minute video.

I wonder if it’s necessary to encode each part in YouTube first before doing the final encoding for YouTube or is there a more efficient and reasonable way. Like, encode each part in another setting and then put the parts all together with the YouTube setting. Or am I right doing it as I am?

Intro encoded with YouTube
First main part encoded with YouTube
Next part encoded with YouTube
Final part encoded with YouTube

All four videos put in sequence and encoded with YouTube.

Anyone have an obvious suggestion that might save time?


#2

I have a suggestion that might save you some time.

Once you export the intro and the other various parts from Shotcut, there’s no need to assemble them all in the playlist and re-export a final product.

As long as the videos are all the same resolution you can use Avidemux (open source and free) to assemble the final video and export it. You won’t need to re encode. Just put all the pieces into Avidemux select a container, mkv, avi, mp4,webm, and save the output. It will literally take a minute or two to get the final product.


#3

sauron, thank you for your suggestion. I will give it a try and see how it works. I have one more thing to add and then I’m ready to stitch the parts together. Hopefully by this weekend!


#4

I edit longer videos in chunks and stitch them together on occasion too. I use ffmpeg command line to do the exact same thing as sauron’s excellent suggestion. The advantage I find with the command line is that I can script the stitch process and re-run it many times as I make tweaks to each chunk. avidemux can probably do this too, but I haven’t researched it.

The ffmpeg method involves putting your four videos in a folder. In that same folder, create a text file called filelist.txt and put these lines in it:

file 'Part1.mp4'
file 'Part2.mp4'
file 'Part3.mp4'
file 'Part4.mp4'

The files are encoded in final delivery format (YouTube preset in your case). Then ffmpeg is called to stitch all the entries in filelist.txt into a single file without re-encoding:

ffmpeg -f concat -safe 0 -i filelist.txt -c copy "FinalOutput.mp4"


#5

Alright, Austin. It looks like I have a couple of options to try out. I am glad to know I can just do the stitching and avoid the lengthy re-encoding. Thanks for your comment and suggestion!