Вырезание части видео - python
У меня есть видео длиной около 25 минут каждый, и я хочу сократить несколько секунд с самого начала, используя python.
Поиск по этому вопросу, я наткнулся на пакет pypyp для python. Проблема в том, что это занимает много времени даже для одного видео. Ниже приведен фрагмент кода, который я использую, чтобы отрезать 7 секунд от начала одного видео. Процесс записи занимает много времени. Есть ли лучший способ обрезать видео с помощью python?
from moviepy.editor import *
clip = VideoFileClip("video1.mp4").cutout(0, 7)
clip.write_videofile("test.mp4")
Пожалуйста, дайте мне знать, если я упустил какие-либо подробности.
Любая помощь приветствуется. Спасибо!
Ответы
Ответ 1
Попробуйте это и скажите нам, если это быстрее (если это возможно, он будет извлекать видео напрямую с помощью ffmpeg, без декодирования и перекодирования):
from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip
ffmpeg_extract_subclip("video1.mp4", start_time, end_time, targetname="test.mp4")
Если это не поможет, взгляните на код
Ответ 2
from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip
ffmpeg_extract_subclip("video1.mp4", t1, t2, targetname="test.mp4")
t1 и t2 в этом коде представляют время начала и время окончания обрезки. Видео до t1 и после t2 будет опущено.
Ответ 3
Если вы новичок в moviepy, вы должны выполнить следующие действия.
Установка (в вашем virtualenv):
pip install --trusted-host pypi.python.org moviepy
python
import imageio
imageio.plugins.ffmpeg.download()
После этих команд у вас есть минимальные требования к программному обеспечению.
использование
from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip
# ffmpeg_extract_subclip("full.mp4", start_seconds, end_seconds, targetname="cut.mp4")
ffmpeg_extract_subclip("full.mp4", 60, 300, targetname="cut.mp4")