Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.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
从结尾开始用x倍的时间剪切多个视频(ffmpeg?)_Ffmpeg - Fatal编程技术网

从结尾开始用x倍的时间剪切多个视频(ffmpeg?)

从结尾开始用x倍的时间剪切多个视频(ffmpeg?),ffmpeg,Ffmpeg,我没有ffmpeg的历史,但我认为这将是适合这项工作的工具。我正在尝试剪切一个不同长度的视频文件夹。我想把它们都缩短到距离终点12秒。也就是说:在一段30秒的视频中,我只剩下00:18-00:30。00:00-00:17将被删除 我在mac OS Mojave上。ffmpeg似乎是批量编辑这些视频的合适工具。有人能带我走过这段路吗?我有一些基本的理解,但需要解释代码/脚本,以便我可以将其应用到我自己的使用中。非常感谢。从输入中获取持续时间。使用bc实用程序计算时间位置:$(回显“$DUR”-12

我没有ffmpeg的历史,但我认为这将是适合这项工作的工具。我正在尝试剪切一个不同长度的视频文件夹。我想把它们都缩短到距离终点12秒。也就是说:在一段30秒的视频中,我只剩下00:18-00:30。00:00-00:17将被删除


我在mac OS Mojave上。ffmpeg似乎是批量编辑这些视频的合适工具。有人能带我走过这段路吗?我有一些基本的理解,但需要解释代码/脚本,以便我可以将其应用到我自己的使用中。非常感谢。

从输入中获取持续时间。使用bc实用程序计算时间位置:$(回显“$DUR”-12 | bc-l)

将从关键帧复制,因此不等于12秒。为了保证准确性,您必须将“-c copy”转换为“-c:v h264\u invenc-cq 18-c:a aac-q:a 4”或您想要的内容

#!/bin/bash
for f in *.mkv; do
  ffmpeg -sseof -12 -i "$f" -map 0 -c:v h264_nvenc -cq 18 -c:a aac -q:a 4 "${f%.*}_trim.mkv"
done
多亏了吉安

[添加信息]

在包含视频的文件夹中创建上述脚本。或运行一个字符串,对每个文件进行编辑:

ffmpeg -sseof -12 -i "input.mp4" -map 0 -c:v libx264 -b:v 3M -c:a aac -b:a 320k "output.mkv"

从输入中获取持续时间。使用bc实用程序计算时间位置:$(回显“$DUR”-12 | bc-l)

将从关键帧复制,因此不等于12秒。为了保证准确性,您必须将“-c copy”转换为“-c:v h264\u invenc-cq 18-c:a aac-q:a 4”或您想要的内容

#!/bin/bash
for f in *.mkv; do
  ffmpeg -sseof -12 -i "$f" -map 0 -c:v h264_nvenc -cq 18 -c:a aac -q:a 4 "${f%.*}_trim.mkv"
done
多亏了吉安

[添加信息]

在包含视频的文件夹中创建上述脚本。或运行一个字符串,对每个文件进行编辑:

ffmpeg -sseof -12 -i "input.mp4" -map 0 -c:v libx264 -b:v 3M -c:a aac -b:a 320k "output.mkv"

使用sseof代替-非常感谢,所以我对这段代码的含义有点困惑。。是否仅用文件名或文件夹位置替换“f”?我对这一点还是新手。将帮助我理解代码,以便我可以将其应用于我的情况。谢谢你的光临advance@JackFitzpatrick
f
只是表示文件夹中文件的变量的任意名称。只需导航到包含视频的文件夹(如
cd~/videos/
),然后运行示例2(但省略
-c:v h264\u nvenc-cq 18-q:a 4
)。@llogan在脚本的第一部分中为
“$f”
以及
“${f%.*}\u trim.mkv”
做什么。。。另外,
$
符号是否对变量有任何意义,或者我只是按照它显示的样子键入它?谢谢lot@JackFitzpatrick只需复制并粘贴命令。您不需要更改任何内容(除了省略我前面提到的那些不推荐的编码选项)。
$
只是表示它是一个变量:您也不必更改它。请改用sseof-非常感谢,因此我对这段代码的含义有点困惑。。是否仅用文件名或文件夹位置替换“f”?我对这一点还是新手。将帮助我理解代码,以便我可以将其应用于我的情况。谢谢你的光临advance@JackFitzpatrick
f
只是表示文件夹中文件的变量的任意名称。只需导航到包含视频的文件夹(如
cd~/videos/
),然后运行示例2(但省略
-c:v h264\u nvenc-cq 18-q:a 4
)。@llogan在脚本的第一部分中为
“$f”
以及
“${f%.*}\u trim.mkv”
做什么。。。另外,
$
符号是否对变量有任何意义,或者我只是按照它显示的样子键入它?谢谢lot@JackFitzpatrick只需复制并粘贴命令。您不需要更改任何内容(除了省略我前面提到的那些不推荐的编码选项)。
$
只是表示它是一个变量:您也不必更改它。