[FFmpeg-user] Muxing multiple files and concatenating those outputs

Greg Oliver oliver.greg at gmail.com
Wed Apr 15 17:30:41 EEST 2020

On Wed, Apr 15, 2020 at 5:43 AM Ted Park <kumowoon1025 at gmail.com> wrote:

> Hi,
> > Yeah, when we record the calls, the directory structure preceeding those
> > names is YYYY/MM/DD/HH and the filenames are MIN_SEC_MSEC.codec(side)
> I mean some phones specifically put g729a, and I assume it's the same for
> g729b. So I started  imagining files ending all over the place g729aa,
> g729ba, etc.

Ahhh, I see what you are referring to now :)

g729b is just an annex to a that only allows for more header enhancements -
the raw codec audio is the same though, so we just write g729 for both.

> > I was really looking for just syntax to group commands, so I could use
> the
> > merge filter output as direct input for the concatenation.
> If you mean the afifo I inserted, you could probably get rid of those if
> the machine's fast enough, or the calls short enough. Or a different
> approach might be padding each file in the same call or using the cue
> filter, and mixing them all. But grouping commands isn't really a thing
> that ffmpeg does, except for things like image sequences, preparing
> segmented delivery media.

I see the restraints I am up against now and I think what I am trying is
just not possible, so I will take the path of least resistance and keep it
multi-lined.  To clarify, the reason I need to merge channels prior is that
the 2 sides do not always exactly line up (there almost always is a
fraction of a second less on one side of the packet stream) and it causes
conversation sync/skew if they are concatenated either prior or
simultaneously with the merging.

> > The man page and web searches I tried came up empty, but I figured
> someone may know some magic sauce I could not find.
> Maybe you've been looking for the wrong terms? It sounds to me like what
> you are looking for is closer to shell features, like parameter
> substitution, filename generation, etc.

Yeah, I am currently using mktemp, etc..  I was just hoping to simplify it
because IO is the limiting factor when it comes to call recording, so
minimizing it is always a prioriry for me.

> If portability is not an issue, some shells have more features than
> others, though there's a different learning curve to each one.
> Or there's always xargs. Yeah probably xargs. I can't really tell but the
> associated filenames seem pretty much arbitrary. Do you parse the date/time
> in the filename to find which ones to put together? Or is there a call log
> to reference?
> Regards,
> Ted Park

Thanks again for all of your input Ted.


More information about the ffmpeg-user mailing list