Hacker Newsnew | past | comments | ask | show | jobs | submit | __zayne__'s commentslogin

It is an electron app.


I like to get the duration of the base video using ffprobe, then use -stream_loop -1 to loop the overlay video on top of it, while using -t with the duration before the output to ensure it will only be as long as the duration of the base video. Here's an example:

    DURATION="$(ffprobe -i input.mp4 -show_entries format=duration -v quiet -of csv='p=0')"

    ffmpeg -i input.mp4 -stream_loop -1 -i overlay.mp4 -filter_complex "
    [1]colorchannelmixer=aa=0.1[2];[2][0]scale2ref[2][1];[1] 
    [2]overlay" -t $DURATION output.mp4


ffprobe step nor -t needed.

    ffmpeg -i input.mp4 -stream_loop -1 -i overlay.mp4 -filter_complex "
    [1]colorchannelmixer=aa=0.1[2];[2][0]scale2ref[2][1];[1] 
    [2]overlay=shortest=1" -shortest -fflags +shortest -max_interleave_delta 100M output.mp4


Thanks, adding a duration to the CLI args works well.


It’s cool to see more people writing posts and experimenting on this topic. I was surprised at how little info I could find trying to research this about a year ago, and spent a decent chunk of this year experimenting with trying to create vintage/retro video filters using FFmpeg. If anyone is curious, I shared a bunch of my notes on this topic here a little while ago: https://zayne.io/articles/vintage-camera-filters-with-ffmpeg

Disclaimer: I’m still an FFmpeg noob


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: