Раскрытие секретов продолжительности видео в Python: руководство для начинающих

Вы хотите извлечь продолжительность видео MP4 с помощью Python? Не смотрите дальше! В этом руководстве для начинающих мы рассмотрим различные методы выполнения этой задачи. Итак, возьмите свой любимый напиток, расслабьтесь и давайте окунемся в мир извлечения продолжительности видео с помощью Python!

Метод 1: использование библиотеки MoviePy

from moviepy.editor import VideoFileClip
def get_video_duration(file_path):
    video = VideoFileClip(file_path)
    duration = video.duration
    return duration
# Example usage
file_path = "path/to/video.mp4"
duration = get_video_duration(file_path)
print("Video duration:", duration)

Метод 2: использование библиотеки PyAV

import av
def get_video_duration(file_path):
    container = av.open(file_path)
    duration = container.duration / float(container.time_base)
    container.close()
    return duration
# Example usage
file_path = "path/to/video.mp4"
duration = get_video_duration(file_path)
print("Video duration:", duration)

Метод 3: использование команды FFprobe (подпроцесс)

import subprocess
def get_video_duration(file_path):
    command = ['ffprobe', '-v', 'error', '-show_entries', 'format=duration', '-of', 'default=noprint_wrappers=1:nokey=1', file_path]
    output = subprocess.check_output(command, universal_newlines=True)
    duration = float(output)
    return duration
# Example usage
file_path = "path/to/video.mp4"
duration = get_video_duration(file_path)
print("Video duration:", duration)

Метод 4: анализ метаданных с помощью библиотеки Mutagen

from mutagen.mp4 import MP4
def get_video_duration(file_path):
    metadata = MP4(file_path)
    duration = metadata.info.duration
    return duration
# Example usage
file_path = "path/to/video.mp4"
duration = get_video_duration(file_path)
print("Video duration:", duration)

Метод 5: использование библиотеки OpenCV

import cv2
def get_video_duration(file_path):
    video = cv2.VideoCapture(file_path)
    fps = video.get(cv2.CAP_PROP_FPS)
    frame_count = video.get(cv2.CAP_PROP_FRAME_COUNT)
    duration = frame_count / fps
    video.release()
    return duration
# Example usage
file_path = "path/to/video.mp4"
duration = get_video_duration(file_path)
print("Video duration:", duration)

Вот и все! Теперь у вас есть несколько методов для извлечения продолжительности видео MP4 с помощью Python. Не стесняйтесь выбирать подход, который соответствует вашим потребностям, и интегрировать его в свои проекты.

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

Удачного программирования!