[Discuss] Any decent video editors?

John Abreau jabr at blu.org
Sat Apr 29 17:59:24 EDT 2023


When you have ffmpeg copy instead of transcode, while trying to cut out
segments, it has trouble keeping the results in sync.

I like pitivi for graphical video editing, but when I edit a 2-hour 1080p
video from the raw youtube livestream of an online BLU meeting, it can
overload my desktop machine, it can overload the cpu and tie up the machine
for hours when rendering the entire video.

The workflow I finally settled on was to

1. use ffmpeg to split the video into 2-minute segments;
2. use pitivo to edit just the segment where the first cutpoint is located
in and the segment that the second cutpoint is located in;
3. discard all segments before the first edited segment and all segments
after the second edited segment;
4. create a title card with Gimp and an audio clip of silence with audacity;
5. use ffmpeg to turn the image and silence into a 10-second video clip;
6. use pitive to combine the title clip and the first edited segment with a
2-second transition in between;
7. use mkvmerge to combine all segments between the two edited segments
into one long segment;
8. use ffmpeg to transcode the three parts to the same settings;
9. use mkvmerge to combine the results into the final video file.

I run pitivi on my desktop machine, and both ffmpeg and mkvmerge on a
headless server with a better cpu than my desktop machine.

More detail:

1. use ffmpeg to split the video into 2-minute segments;

ffmpeg -i src.mkv -map 0 -c copy -f segment -segment_time 120 \
    -reset_timestamps 1 segment.%03d.mkv

2. use pitivo to edit just the segment where the first cutpoint is located
in and the segment that the second cutpoint is located in;

render as begin.mkv and end.mkv

e.g., segment-007.mkv and segment-058.mkv

3. discard all segments before the first edited segment and all segments
after the second edited segment;

mkdir hold
mv segment-00[0-6].mkv hold/
mv segment-059.mkv segment-0[6-9][0-9].mkv hold/

4. create a title card with Gimp and an audio clip of silence with audacity;

5. use ffmpeg to turn the image and silence into a 10-second video clip;

ffmpeg -loop 1 -i src.png -i silence.wav -c:v libx264 -c:a aac \
    -strict experimental -b:a 192k -shortest -pix_fmt yuv420p titlecard.mkv

6. use pitivi to combine the title clip and the first edited segment with a
2-second transition in between;

render as begin-with-titlecard.mkv

7. use mkvmerge to combine all segments between the two edited segments
into one long segment;

mkvmerge -o middle.mkv segment-008.mkv +segment-009.mkv \
    +segment-0[1-4][0-9].mkv +segment-05[0-7].mkv

8. use ffmpeg to transcode the three parts to the same settings;

begin-with-titlecard.mkv => begin-with-titlecard-edited.mkv
middle.mkv => middle-edited.mkv
end.mkv => end-edited.mkv

ffmpeg -i <part>.mkv  -acodec ac3 -vcodec libx264 -ab 256k <part>-edited.mkv

9. use mkvmerge to combine the results into the final video file.

mkvmerge -o final.mkv begin-with-titlecard-edited.mkv \
    +middle-edited.mkv +end-edited.mkv

The original source has audio at 44100 Hz, and pitivi by default renders
audio at 48000 Hz. So I edit the project settings to have it do 44100 Hz.



On Sat, Apr 29, 2023 at 4:45 PM Daniel Barrett <dbarrett at blazemonger.com>
wrote:

> I've just tried 3 different Linux video editors to accomplish a simple
> task, removing a few segments from an MP4 file. All three programs
> failed spectacularly. Any recommendations for a reliable program?
>
> First I tried losslesscut. The UI let me create clips, but when they
> were rendered, they were mispositioned by several seconds. Apparently
> the program cuts only at "keyframes" and not where you actually
> request the cut.
>
> So then I tried vidcutter. The UI let me specify exactly the cuts I
> wanted. But I could not export the results to a video file. The save
> operation simply didn't do anything. It claimed "FILE SAVED" but no
> output file was present anywhere on disk. I tried quitting &
> restarting vidcutter, and then it refused to read the project file it
> had written, claiming the file had a syntax error.
>
> So then I tried kdenlive. The UI again let me specify exactly the cuts
> I wanted. Then kdenlive crashed. I restarted, reloaded the video,
> tested it, and exported the clips to an MP4 file. After waiting 23
> minutes for the export to complete, the process halted with 15 seconds
> left to render. No error. The resulting video file contained 46
> minutes of random pixels.
>
> Finally, I tried just plain ffmpeg to extract the clips I wanted:
>
>   ffmpeg -i VIDEO.mp4 -ss $1 -to $2 -c:v copy -c:a copy clip.mp4
>
> Some of the resulting clips had the audio & video out of sync.
>
> Any suggestions are welcome. Thank you.
> Dan
> _______________________________________________
> Discuss mailing list
> Discuss at lists.blu.org
> http://lists.blu.org/mailman/listinfo/discuss
>


-- 
John Abreau / Executive Director, Boston Linux & Unix
Email jabr at blu.org / WWW http://www.abreau.net / PGP-Key-ID 0x920063C6
PGP-Key-Fingerprint A5AD 6BE1 FEFE 8E4F 5C23  C2D0 E885 E17C 9200 63C6


More information about the Discuss mailing list