擅长:python、mysql、java
<p>如果ffmpeg不喜欢*.mp4,您可以在文件列表中进行此操作</p>
<pre><code>ls -1 *.mp4 | perl -0pe 's/\n/|/g;s/\|$//g'
</code></pre>
<p>但我认为你的例子并没有遵循<a href="https://trac.ffmpeg.org/wiki/Concatenate" rel="nofollow noreferrer">specification</a>,所以你可能希望这样:</p>
<pre><code>for F in *.mp4 ; do
ffmpeg -i $F -c copy -bsf:v h264_mp4toannexb -f mpegts $(echo $F | perl -pe 's/mp4$/ts/g');
done
ffmpeg -i "concat:$(ls -1 *.ts | perl -0pe 's/\n/|/g;s/\|$//g')" -c copy -bsf:a aac_adtstoasc outputfile.mp4
</code></pre>
<p>也可以看到类似的<a href="https://stackoverflow.com/questions/15186500/howto-merge-two-avi-files-using-ffmpeg">question</a></p>