[FFmpeg-user] Need help resolving concat error
peter.white at posteo.net
Sun Jul 24 19:17:20 EEST 2016
Am 24.07.2016 um 17:16 schrieb Moritz Barsnick:
> On Sun, Jul 24, 2016 at 16:49:30 +0200, Peter White wrote:
>> <(for f in ./*.MOV; do echo "file '$PWD/$f'"; done)
>> is a very fancy way of saying *.MOV. ;) Essentially that is what
>> happens there:
>> ffmpeg -i *.MOV
> No, it isn't at all. It's a bash-ism (or perhaps zdh-ism) which
> provides a pseudo file containing the output of the command within the
> brackets as content. Valid approach, and it's used in the wiki as well.
Oops, I see that now. Was wondering what that -safe 0 was for. But the
OP still have no -f concat anywhere in their command line. Is it
implied somewhere? Cannot see where, though:
>>> *ffmpeg -safe 0 -analyzeduration 4000000000 -probesize 4000000000
>>> -i <(for f in ./*.MOV; do echo "file '$PWD/$f'"; done) -map 0:0 -map
>>> 0:1 -map 0:2 -c:v copy -c:a copy -map_metadata 0 -copy_unknown
>>> -disposition:a:0 default -disposition:a:1 default OUT.MOV*
But, maybe I am not seeing everything here.
>> I suppose files.txt is a list of one file path per line? I believe
>> this is not accepted as input by ffmpeg. It expects media files not
>> text files listing those.
> The original poster is using the concat demuxer ...
At least in their posted command they don't:
>>> *$ ffmpeg -i files.txt -c:v copy -c:a copy OUT.MOV*
No concat demuxer, which is why that files is expected to be a media
> You are right though in saying that "files.txt" is being interpreted as
> a multimedia file. It either needs the extension .concat (I believe),
> or better "-f concat".
-f concat, .concat extension does nothing for me.
>> Also have a look at what Cley Faye wrote in their reply. To concatenate
>> files you need the concat filter. Just using "-c:v copy -c:a copy" only
>> gets you what ffmpeg deems the best quality input.
> That's total nonsense. You *cannot* use a filter with "-c copy".
Again, oops. Sorry, I should have known that.
> Mark is using the concat *demuxer*, and that may just be fine.
I am not so certain he actually is. ;)
More information about the ffmpeg-user