У меня есть файлы в формате Mp4. Я хочу получить битрейт видеодорожки и аудиодорожки отдельно с помощью python. Я знаю, что это python-opencv
может помочь получить количество кадров:
import cv2
video = "sample.mp4"
video_capture = cv2.VideoCapture(video)
video_length = int(video_capture.get(cv2.CAP_PROP_FRAME_COUNT))
Но вариант укусить не нашел. И мне не нужен общий битрейт, потому что я должен обрабатывать видео и аудио отдельно. (Если другие могут вычислить битрейт звука, это нормально.) Я не знаю, python-opencv
смогу ли это сделать. Если нет, то какие еще пакеты мне следует использовать и как?
По возможности используйте популярные пакеты, чтобы избежать проблем. Лучше, если будет отмечена настройка потока. Спасибо.
ffmpeg, вероятно, является наиболее распространенным или популярным решением для обработки видео, и вы можете использовать его для получения нужной информации.
Хотя ffmpeg - это инструмент командной строки, библиотеки, на которых он построен, могут использоваться в других приложениях, а для вашего случая, возможно, проще, существуют оболочки Python, которые позволяют вам использовать все функции командной строки ffmpeg. Например, следующее (на момент написания) хорошо поддерживается:
Эта библиотека включает примеры для получения информации с помощью ffprobe (вспомогательная утилита командной строки для ffmpeg) - возвращается JSON, и вы можете искать нужную информацию в видео- или аудиопотоке, например:
probe = ffmpeg.probe(args.in_filename)
video_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'video'), None)
Эта статья взята из Интернета, укажите источник при перепечатке.
Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.
я говорю два предложения