Рубрики
Без рубрики

Как получить продолжительность видео в Python?

Постановка проблемы: Учитывая видеофайл. Как получить его продолжительность в секундах, используя код Python? Видео может иметь любое из следующих видеоформатов: MP4AVIFLASH Videomov Метод 1: Использование подпроцесса + FFPROBE в рамках Python, вы можете запустить любую внешнюю команду с помощью подпроцесса модулей. Внешний инструмент FFPROBE помогает вам определить … Как получить продолжительность видео в Python? Подробнее “

Автор оригинала: Chris.

Проблема разработки: Учитывая видеофайл. Как получить его продолжительность в секундах, используя код Python?

Видео может иметь любое из следующих форматов видео:

Метод 1: с использованием подпроцесса + FFPROBE

В пределах Python Shell вы можете запустить любую внешнюю команду с подпроцессором модуля. Внешний инструмент FFPROBE Помогает вам определить много видео статистики, такие как длина видео.

” FFPROBE собирает информацию из мультимедийных потоков и печатает его в человеческом и машиночитаемой моде ».

import subprocess

def get_length(filename):
    result = subprocess.run(["ffprobe", "-v", "error", "-show_entries",
                             "format=duration", "-of",
                             "default=noprint_wrappers=1:nokey=1", filename],
        stdout=subprocess.PIPE,
        stderr=subprocess.STDOUT)
    return float(result.stdout)

Код получен из здесь и здесь Отказ

Вы можете скачать FFPROBE для Windows, MacOS и Linux здесь Отказ

Способ 2: Использование модуля MoviePy

Этот код еще более кратко – и он извлекает продолжительность данного видео очень быстро, используя кинопя модуль.

from moviepy.editor import VideoFileClip
clip = VideoFileClip("my_video.mp4")
print(clip.duration)

Этот код получается из здесь Отказ Однако сообщается, что метод 1 с FFPROBE 10x быстрее, чем метод с кинопя Отказ

Способ 3: Использование модуля PymediaInfo

Альтернатива предыдущему методу предоставляется PymediaInfo библиотека:

from pymediainfo import MediaInfo
clip_info = MediaInfo.parse('my_video.mov')
duration_ms = clip_info.tracks[0].duration

Этот код получается из здесь и здесь Отказ

Способ 4: Использование модуля OpenCV

Один из самых быстрых способов для получения продолжительности видео обеспечивается opencv Модуль:

import cv2
video = cv2.VideoCapture('my_video.webm')
duration = video.get(cv2.CAP_PROP_POS_MSEC)

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.

Оригинал: “https://blog.finxter.com/how-to-get-the-duration-of-a-video-in-python/”