У меня есть несколько больших видео, которые я хочу разделить на части. Единственный способ сделать это, я знаю, это разделить одну часть за один раз с OpenShot. Я должен разделить, долго ждать, удалить часть, разделить следующую часть, ...
Есть ли лучший способ? Я попытался Google, но, кажется, все методы также требуют разделения одной части за один раз. Это действительно неудобно, так как мне нужно, чтобы каждое видео было разбито на 20-30 частей. Я хочу иметь возможность просто пометить все точки разделения и вернуться позже и найти все это сделано. Кто-нибудь знает способ?
ОБНОВЛЕНИЕ: Теперь я работаю над решением для командной строки. Я попробовал эту команду, но единственная проблема состоит в том, что есть несколько секунд, когда видео останавливается в начале (и конце) каждого разделения вывода.
avconv -i x.mp4 -ss 00:00:00 -t 00:01:00 -c:v copy -c:a copy out.mp4 -ss 00:01:00 -t 00:01:00 -c:v copy -c:a copy out1.mp4 -ss 00:02:00 -t 00:01:00 -c:v copy -c:a copy out2.mp4 -ss 00:03:00 -t 00:04:00 -c:v copy -c:a copy out3.mp4
Вот решение, которое работало на меня.
, Например:
avconv -ss 0 -i x.mp4 -t 180 -vcodec copy -acodec copy -metadata track="1" "Part I.mp4"
avconv -ss 180 -i x.mp4 -t 164 -vcodec copy -acodec copy -metadata track="2" "Part II.mp4"
avconv -ss 344 -i x.mp4 -t 185 -vcodec copy -acodec copy -metadata track="3" "Part III.mp4"
у меня было 50 записей, и я поместил их в сценарий вместе. Я сначала поместил skeletons как
avconv -ss -i x.mp4 -t -vcodec copy -acodec copy -metadata track=" " ".mp4"
Тогда, я заполнил-ss и поместил заголовки. После этого я использовал libreoffice Calc с пространством как разделитель. Я получил значения для-t и дорожки с формулой и перетаскиванием.
Если Вы часто делаете это, можно попытаться создать сценарий удара. Запустите с чего-то вроде этого:
#!/bin/bash
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
FILES=$(ls *.mp4|sort)
let START=0
for FILE in $FILES
do
echo Processing $FILE
mkdir "${FILE}-chop"
for COUNT in {1..59}
do
exec avconv -i "${FILE}" -ss $START -t 60 -c:v copy -c:a copy "./${FILE}-chop/${COUNT} - ${FILE}"
let START=$START+60
done
done
IFS=$SAVEIFS
Имеют в виду, что это - очень ужасный код, и это, вероятно, произведет много ошибок и пустых файлов, и не будет работать правильно, если входной файл будет больше чем один час длиной, но это запустит Вас.