On Tue, May 31, 2022 at 6:15 PM Bo Berglund <bo.bergl...@gmail.com> wrote:
> On Tue, 31 May 2022 13:15:02 +0200, Michael Koch < > astroelectro...@t-online.de> > wrote: > > >Am 31.05.2022 um 11:17 schrieb Bo Berglund: > >> On Sun, 29 May 2022 13:17:55 +0200, Michael Koch < > astroelectro...@t-online.de> > >> wrote: > >>>>> Using concat filter. > >>>> That is exactly what I already know: cutting the different parts. > >>>> Probably one command for each part and then concatenate them. > >>>> So n + 1 commands. > >>>> My question was: can it be done with one command? > >>>> > >>> Please have a look at > >>> https://trac.ffmpeg.org/wiki/Concatenate > >>> > >>> "Concat demuxer", "Concat protocol" and "Concat filter" are three > >>> different things. > >>> You did use the concat demuxer. Now if you want to do all in one line, > >>> you must use the concat filter. > >>> > >>> Michael > >> Stepping in here due to the interesting topic: > >> > >> I am daily using a tool I created myself to use ffmpeg to remove ads > from > >> recorded mp4 TV news videos. > >> What I do is the following: > >> - I manually scan the video to find the start/end times of the ads > (seconds) > >> - From this list the tool creates the ffmpeg commands to extract the > parts > >> *between* the ads as separate numbered mp4 files > >> - Then a list of these small files is written to a file $JOINFILE > >> - This is then used in an ffmpeg call like this: > >> ffmpeg -f concat -safe 0 -i $JOINFILE -c copy $TARGETFILE > >> - When this is done the small files and $JOINFILE are deleted > >> > >> So reading this thread I get the feeling that there is a way to use the > list of > >> cut times in a *single ffmpeg command* to create the output mp4 file > *without* > >> creating the list file and essentially doing everything in this single > ffmpeg > >> command. > > > >I have a short example in chapter 2.57 of my book: > >http://www.astro-electronic.de/FFmpeg_Book.pdf > > > > Michael, thanks a lot for your input! > > When using your book link I landed in a directory where I already had the > April > 25, 2021 version! Downloaded 13 months ago... > > This new version from May 28, 2022 is greatly expanded going from 553 to > 821 > pages! > Great work, thank you! > > > So when I read the ch 2.57 I see that the sources of the concatenation > operation > are actual multiple video files. > > This is what I am already doing but it is a multiple-step process where > there is > one step where the short video files are created by cutting out of the main > input video files based on start time and length for each cut. (Resolution: > seconds.) > > Then these are pasted together using the concat with copy since they are > cutouts > from the same single input video and thus share the format. > > What has been asked in this thread is if there is a way to *combine* these > operations such that there is no need for intermediate files... > > I.e. can ffmpeg be commanded to extract the sections to concatenate and > feed > them one after another into the concat operation without landing in a temp > file > inbetween? > > Further notes about your book example 2.57: > ------------------------------------------- > > The first line states: > "In this example the concat filter is used for input videos of the same > size and > no audio." > > No audio is a non-starter for me. > > I need the audio to also be present in the output with preserved > audio/video > sync. > > It also says: > "This filter does re-encode the videos, ..." > > Also something I want to avoid since it takes a long time to do and seems > un-necessary since all of the parts being concatenated come from one and > the > same source video where parts are being edited out. Thus they share the > same > format. > > Basically when editing a single source video (with audio) the re-encoding > should > not be needed, right? > Or am I missing something due to the use of compression? > > Every now and then some nob comes around with similar requests. There is no straightforward bulletproof way to achieve this without re-encoding and at same time using random videos as inputs, Feel free to prove me wrong. > > -- > Bo Berglund > Developer in Sweden > > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". > _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".