Ffprobe — Достать продолжительность и битрейт
Достает только продолжительность, битрейта нет. Собственно как достать продолжительность и битрейт. Желательно круглыми числами если возможно..
Отслеживать
задан 28 янв 2021 в 0:05
Дмитрий Варзанов Дмитрий Варзанов
327 2 2 серебряных знака 12 12 бронзовых знаков
28 янв 2021 в 0:18
duration, bit_rate = map(int, sub.check_output(«ffprobe -i «+file+» -show_entries format=duration,bit_rate -v quiet -of csv=’p=0′», shell=True).decode().strip().split(‘,’)) #в секундах print(duration); Работает, но из-за того что продолжительность с плавающей точкой. Выдает ошибку.
28 янв 2021 в 0:38
0
Сортировка: Сброс на вариант по умолчанию
Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Инструкция по установке и работе с программой FFMPEG на Windows
Программа FFMPEG предназначена для конвертирования видео и аудио файлов через специальные команды в командной строке Вашего компьютера/ноутбука, благодаря которым возможно самостоятельно:
1. Изменить формат и качество записи;
2. Изменить разрешение и битрейт для видео и аудио;
3. Нарезать фрагменты записи на отдельные записи;
4. Замедлить и ускорить воспроизведение видео и аудио;
5. Склеить видео и аудио в единый файл;
6. Удалить аудио из видео, а также извлечь аудио из видео.
(Более подробную информацию см. в шаге №5).
С ЧЕГО НАЧАТЬ?
Шаг №1. Скачиваем программу на Windows
Для начала Вам необходимо перейти на официальный сайт разработчиков и скачать файл программы. Ссылка на скачивание программы: https://yadi.sk/d/_ybZxA8VN2pBmQ
Шаг №2. Установка программы
Этот шаг требует особого внимания, так как работа с FFMPEG происходит через командную строку, поэтому разберём по пунктам алгоритм установки FFMPEG:
1. Вы скачали архивный файл и Вам необходимо его открыть;
2. Открываем скачанный архивный файл и находим папку «bin», внутри которой располагается файл-приложение «ffmpeg.exe»;
Примечание! Если у Вас нет архиватора для открытия файла, то можно скачать архиватор WinRar на официальном сайте разработчиков.
Ссылка на скачивание: https://winrar-pro-download.com


3. Извлекаем файл «ffmpeg.exe» в заранее созданную папку «ffmpeg» на корневом диске (как правило, это диск «C»);


4. Далее заходим в проводник (иконка «лупа») и находим «Мой компьютер». Нажимаем на него правой кнопкой мыши и выбираем «свойства», после чего появится следующее окно:


5. Нажимаем на «Дополнительные параметры системы» и заходим в «переменные среды»;

6. Находим в окошке «системные примененные» пункт «Path», нажимаем «изменить»;

7. В появившемся окне нажимаем на кнопку «создать» и указываем путь к файлу ffmpeg. Для этого переходим в папку с ffmpeg и кликаем на строчку, выделенную красным (см. на картинке), после чего нажмите сочетание клавиш Ctrl+C;


8. После того, как нажали клавишу «Создать» (1), вставляем скопированное в строку (2) и нажимаем на «Ок» (3).

Шаг №3. Запускаем программу
1) Если вы используете ОС Windows10, то вам достаточно нажать на значок «поиск»(лупа) и ввести английскими буквами «cmd»:

(Прим. Если же Вы используете более ранние версии Windows (7,8), то Вам нужно зайти в меню «пуск» и строка «поиск» будет в самом низу).
2) Далее, заходим в командную строку и проверяем – работает ли программа. Для этого вводим: ffmpeg, после чего нажимаем кнопку Enter. Если Вы всё сделали правильно, у Вас будет примерно следующий отклик в командной строке:

(Прим. Если же у Вас появляются строки красного цвета, то вероятно – Вы сделали что-то не так. Попробуйте повторить алгоритм по новой).
Шаг №4. Используемые файлы
Для начала работы с видео-файлом необходимо, чтобы файл находился в директории доступных дисков. Например: имеется видео-файл «Testovii File.mp4». Я расположил его прямо на диск D.

Таким же образом разместите остальные файлы, с которыми вы собираетесь работать в ffmpeg.
Либо, если не хотите перетаскивать файл, вам нужно будет скопировать путь к файлу(об этом позже).
(Прим. Рекомендуется использовать английские буквы в названии файлов, с которыми собираетесь работать)
Теперь с файлами можно работать.
Запускаем командную строку. Как правило, по умолчанию в командной строке указан путь к корневой папке, например:

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


Теперь мы можем начать работать с файлами. Любая команда начинается со слова ffmpeg в строке:

Далее будет представлен ряд простых команд, где input.mp4 – название исходного видео-файла; input.mp3 – название исходного аудио-файла; output.format – название полученного файла; а ключ «–i» -это то, что необходимо прописывать перед обрабатываемым файлом (input.mp4/input.mp3).
Шаг №5. Основные команды
1) Для того, чтобы перевести видео в другой видеоформат:
ffmpeg –i Z\input.avi output.mp4
(Прим. – Z\ — путь к файлу input.avi, пример: выбираем нужный файл в папке (1), кликаем на него, затем кликаем на строку с его расположение (2), и копируем правой кнопкой мышки; также следует помнить, что при попытке форматирования из более легкого файла(Mp4) в более тяжелый(avi) – полученный файл будет в более плохом качестве)
2) Для того, чтобы перевести видео в аудио:
ffmpeg –i Z\input.mp4 output.mp3
(Прим. – Если появляется красная строка при нажатии ENTER, то попробуйте поместить input.mp4 в Кавычки – «input.mp4»)
3) Для того, чтобы вырезать фрагмент из видео:
Способ : 1 – обрезать концовку.
ffmpeg -i input.mp4 –t 00:00:00 output.mp4
(Прим. -t 00:00:00 – указывается время продолжительности видео от начала)
Способ : 2 – вырезать кусок из любой точки.
ffmpeg -ss 00:00:00 -i input.mp4 -t 00:00:00 output.mp4
(Прим. –ss 00:00:00 – указывается время начала желаемого куска; -t 00:00:00 – указывается время продолжительности желаемого куска;
Если появляется красная строка, то попробуйте поместить input.mp4 в Кавычки – «input.mp4»)
P.S Применимо как к видео, так и к аудио файлам!
4) Команда для склеивания пустого видео файла и аудио файла:
ffmpeg -i input.mp3 -i input.mp4 output.mp4
(Прим. Если вы используете разные по длительности файлы, то у них вседа будет совпадать начало, а длительность конечного файла будет равна самому длинному исходному файлу, пример:
Аудиофайл.mp3 – длительность 00:05:00 + Видеофайл.mp4 – длительность 00:03:00 = финальный файл.mp4 – длительность 00:05:00)
5) Команда для удаления аудио из видео:
ffmpeg -i input.avi -vcodec copy –an output.avi
6) Команда для ускорения/замедления видео:
ffmpeg –i input.avi -vf setpts=X*PTS output.avi
(Прим. X больше 1 – замедление; X меньше 1 — ускорение)
7) Команда для ускорения/замедления аудио:
Ffmpeg –I input.mp3 -filter:a «atempo=X» –vn output.mp3
(Прим. X значение больше нуля – ускорение; X значение меньше нуля (0.5;0.8) – замедление)
8) Команда для ускорения/замедления файла с аудио и видео:
ffmpeg -i input.mp4 -filter_complex «[0:v]setpts=X*PTS[v];[0:a]atempo=Y[a]» -map «[v]» -map «[a]» output.mp4
(Прим. X больше 1 – замедление; X меньше 1 – ускорение;
Y значение больше нуля – ускорение; Y значение меньше нуля (0.5;0.8) – замедление)
9) Для того, чтобы изменить параметр «качество»:
ffmpeg -i input.avi -q X output.avi
(Прим. X от 23 до 50, где 50 – минимальное качество; данная опция помогает уменьшить размер файла)
ffmpeg -i input.mp4 -crf X output.mp4
10) Для того, чтобы изменить Битрейт:
Для аудио: ffmpeg -i input.mp4 -b:a 128k output.mp4
(Прим. Где 128k– цифра, обозначающая размер битрейта)
Для видео: ffmpeg -i input.mp4″ -b:v 1000k output.mp4
11) Для того, чтобы изменить разрешение видео:
ffmpeg -i input.mp4 -s X output.mp4
(Прим. X – разрешение, например: «-s 800×600»)
Для общего сжатия видео:
13) ffmpeg -i input.mp4 -codec:a copy -vcodec libx264 -preset fast -crf 32 output.mp4
В этой статье были рассмотрены:
— Способ установки ffmpeg для Windows
— Была представлена выжимка из самых распространённых команд, которая позволит использовать программу «ffmpeg» для решения, пусть не самых сложных, но всё-же возникающих задач.
Команды в программе ffmpeg не ограничиваются тем списком, что был представлен в данной статье. Как было сказано выше, в интернете существует более 200 страниц со всевозможными командами, призванными проводить манипуляции с видео\аудио-файлами, которыми, как правило, пользуются продвинутые пользователи.
Мы же предоставили краткий мануал по основным возможностям, и надеемся, что этот материал окажется полезным для наших пользователей!
Потоковое аудио и видео (радио- и TV-трансляции) — FFprobe
FFprobe — это простой анализатор мультимедиа-потоков с интерфейсом командной строки, использующий библиотеки проекта FFmpeg.
Используется для вывода информации о формате и заголовке мультимедиа-файла или потока, мультимедиа-потоках и отдельных пакетах или кадрах.
FFprobe можно использовать и как отдельное приложение, и в комбинации с текстовым фильтром, который осуществляет более сложную обработку (например, статистическую обработку или построение графиков).
Разместил: vikos 1 Март 2013 в 13:40
Анализ медиафайлов
Иногда, если Вы попали в ситуацию когда не понятно что за файл с видео или со звуком, возникает необходимость или желание извлечь полезное содержимое из медиафайла.
Тут, чаще всего, на помощь приходит ютуб. Просто грузите туда файл и он все делает как надо. Но и ютуб не всесилен.
Понятно, что мне в руки попал откровенный мусор, но любопытство взяло свое и я решил поковыряться. Для начала попытался делать самое простое: менял расширения, пробовал открыть разными программами, но об этом было бы не интересно писать.
Потом я попробовал скормить файл программе ffprobe:
ffprobe -v quiet -print_format ini -show_format -show_streams "in" > "in.ini"
ffprobe -v quiet -print_format ini -show_format -show_streams "in.avi" > "in.avi.ini"
Вооружился моим любимым инструментом AutoIt.
#include #include RunWait("cmd /c ""ffmpeg -formats > formats.txt""") Sleep(100) $f = FileOpen("formats.txt") $s = " " $file = "in" $prev = "" $sFile = $file $descriptionFile = $sFile & ".ini" $cmd_info = "cmd /c ""ffprobe -v quiet -print_format ini -show_format -show_streams " & $sFile & " > """ & $descriptionFile & """" RunWait($cmd_info) Sleep(100) If FileGetSize($descriptionFile) > 20 Then $cmd_video = "ffmpeg -i " & $sFile & " -target dvvideo " & $sFile & ".avi" RunWait($cmd_video) Sleep(100) $cmd_audio = "ffmpeg -i " & $sFile & " -vn -c:a pcm_s16le " & $sFile & ".wav" RunWait($cmd_audio) Sleep(100) Else FileDelete($descriptionFile) EndIf While $s <> "" $s = FileReadLine($f) $ext = "." & StringMid($s, 5, StringInStr(StringMid($s, 5), " ") - 1) FileMove($file & $prev, $file & $ext, $FC_OVERWRITE) $sFile = $file & $ext $descriptionFile = $sFile & ".ini" $cmd_info = "cmd /c ""ffprobe -v quiet -print_format ini -show_format -show_streams " & $sFile & " > """ & $descriptionFile & """" RunWait($cmd_info) $prev = $ext Sleep(500) If FileGetSize($descriptionFile) > 20 Then $cmd_video = "ffmpeg -i " & $sFile & " -target dvvideo " & $sFile & ".avi" RunWait($cmd_video) Sleep(100) $cmd_audio = "ffmpeg -i " & $sFile & " -vn -c:a pcm_s16le " & $sFile & ".wav" RunWait($cmd_audio) Sleep(100) Else FileDelete($descriptionFile) EndIf WEnd FileClose($f)
Из файла описания форматов достаем кодеки, подставляем их в качестве расширения, скармливаем ffprobe. Если на выходе ffprobe получался файл длиной более 20 байт, то пробуем сконвертировать исходник в dvvideo или в звук.
Так, у меня все получилось, за пол-часа у меня уже была кучка файлов, с которыми я уже смог поработать.
- восстановление данных
- восстановление изображений
- ffmpeg
- ffprobe
- autoit