Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 将mkv文件转换为mp4,同时保留名称_Macos_Command Line_Mp4_Mkv - Fatal编程技术网

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

Macos 将mkv文件转换为mp4,同时保留名称,macos,command-line,mp4,mkv,Macos,Command Line,Mp4,Mkv,我有一个包含几十个dmv文件的文件夹,但我想通过命令行将它们转换为mp4。我已成功地使用以下命令执行此操作: ffmpeg -i *.mkv -vcodec copy -acodec copy new_name.mp4 我现在想弄清楚的是如何保存视频的名称。如何在每次都不显式写出文件名的情况下执行此操作?您可以使用find结合原始命令来转换所有mkv: find . -type f -name "*.mkv" -maxdepth 1 \ -exec bash -c 'ffmpeg -i "$0

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

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

我现在想弄清楚的是如何保存视频的名称。如何在每次都不显式写出文件名的情况下执行此操作?

您可以使用
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 {} \;

您可以将
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 {} \;

当所有视频都在同一文件夹中时,您可以使用GNU Parallel来实现这一点,方法是:

parallel --bar 'ffmpeg -i {} -vcodec copy -acodec copy {.}.mp4' ::: *

当所有视频都在同一文件夹中时,您可以使用GNU Parallel来实现这一点,方法是:

parallel --bar 'ffmpeg -i {} -vcodec copy -acodec copy {.}.mp4' ::: *

你的标题说你有
wkv
文件,你的文本说你有
dmv
文件,你的代码说你有
mkv
文件,请问是哪一个?它们都在一个目录里吗?我会编辑的,我是说mkv。是的,都在同一个目录中。你的标题说你有
wkv
文件,你的文本说你有
dmv
文件,你的代码说你有
mkv
文件-请问是哪一个?它们都在一个目录里吗?我会编辑的,我是说mkv。是的,都在同一个目录中。它生成了一个
mp4
文件,但
iMovie
@alper不接受它:为什么要转换它们?我想将该文件导入
iMovie
,以便进行修剪和裁剪
iMovie
不接受
mkv
avi
文件。当我执行以下
ffmpeg-I*.mkv-ss 00:00:00-t 01:22:03-async 1 cut.mp4
时,我能够将生成的文件导入
iMovie
@l'l'l@alper:但是
iMovie
通常使用
.m4v
.mov
,那么为什么需要转换它们呢?可以尝试使用
.mov
格式,或者将扩展名从
.m4v
更改为
。mp4
iMovie
不使用
。mkv
,甚至我将扩展名从
.mkv更改为
.mp4`它也没有帮助它生成了
mp4
文件,但是
iMovie
@alper不接受它:为什么要转换它们?我想将文件导入
iMovie
,以便进行修剪和裁剪
iMovie
不接受
mkv
avi
文件。当我执行以下
ffmpeg-I*.mkv-ss 00:00:00-t 01:22:03-async 1 cut.mp4
时,我能够将生成的文件导入
iMovie
@l'l'l@alper:但是
iMovie
通常使用
.m4v
.mov
,那么为什么需要转换它们呢?可能尝试
.mov
格式,或者只是将扩展名从
.m4v
更改为
。mp4
iMovie
不使用
.mkv
,即使我将扩展名从
.mkv更改为
.mp4`也没有帮助