将mkv文件转换为mp4,同时保留名称

问题描述 投票:0回答:2

我有一个包含几十个dmv文件的文件夹,但我想通过命令行将它们转换为mp4。我已成功使用以下命令执行此操作:

ffmpeg -i *.mkv -vcodec copy -acodec copy new_name.mp4

我现在要弄清楚的是如何保留视频的名称。如果没有每次都明确写出文件名,我该怎么办呢?

macos command-line mp4 mkv
2个回答
2
投票

您可以使用find结合您的原始命令来转换所有mkv:

find . -type f -name "*.mkv" -maxdepth 1 \
-exec bash -c 'ffmpeg -i "$0" -vcodec copy -acodec copy "${0/.mkv/.mp4}"' {} \;

这应该将当前目录中的任何mkv文件转换为mp4,同时保留原始文件。

如果你想删除原来的mkv文件,只剩下mp4使用:

find . -type f -name "*.mkv" -maxdepth 1 \
-exec bash -c 'ffmpeg -i "$0" -vcodec copy -acodec copy "${0/.mkv/.mp4}"' {} \; \
-exec rm {} \;

2
投票

当所有视频都在同一文件夹中时,您可以使用GNU Parallel实现此目的:

parallel --bar 'ffmpeg -i {} -vcodec copy -acodec copy {.}.mp4' ::: *
© www.soinside.com 2019 - 2024. All rights reserved.