Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » FFmpeg

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98

Открыть новую тему     Написать ответ в эту тему

guru431

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


FFmpeg — набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио- и видеозаписи в различных форматах, а также консольная утилита ffmpeg.exe, представляющая из себя универсальный видеоконвертер.
 

Ссылки на русском:
  • Документация по FFmpeg
  • Статья «19 команд FFmpeg для любых нужд»
  • Статья «20 команд FFmpeg для начинающих»
     
    Примеры использования:
  • Преобразовать в MKV
  • Захвата с экрана, со звуком
  • Кодирование с помощью технологии Nvidia NVENC
  • Поддержка вывода Юникода в консоль Windows
  • Подготовка качественных GIF-файлов из видео при помощи FFmpeg
     
    Поддержка Windows XP
    Последний официальный билд под Windows XP от Zeranoe ffmpeg-20150525-git-8ce564e был в мае 2015. Тема (нужен TOR), посвященная сборкам ffmpeg/ffprobe, работающих под Windows XP.
    Готовые сборки, зеркало версии от 2019, 2020, 2021 года.
    Static builds by Kyle Schwarz (последний для WinXP ffmpeg-3.0-win32-static.7z).
    GUI под WinXP (ffqueue, WinFF, Video converter).
     
    Список различных сборок.
     
    По общим вопросам написания командных файлов есть отдельная тема "Командная строка, батники, сценарии - bat, cmd".

  • Всего записей: 66 | Зарегистр. 28-02-2007 | Отправлено: 17:23 21-11-2012 | Исправлено: V0lt, 16:51 27-01-2024
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    generator324
    Получил ошибку, хочешь спросить почему - напиши полную командную строку, которая ее вызывает!

    Всего записей: 10486 | Зарегистр. 05-02-2003 | Отправлено: 07:26 03-02-2019
    generator324

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt

    Цитата:
    Получил ошибку, хочешь спросить почему - напиши полную командную строку, которая ее вызывает!


    Код:
    cd /d "%~dp0"
    ffmpeg -i %1 -c:v libx264 -preset slow -crf 22 -acodec copy %1.mkv
     

    Запускаю в каталоге с файлом  "Длинное название на русском языке.mkv", получаю ошибку:

    Код:
    "-c:v: Protocol not found
    Did you mean file:-c:v?"

     
    Valery_Sh

    Цитата:
    Длинное название на русском языке.mkv нужно брать в кавычки буквально, а не только в смысле цитирования.  

    Именно так!

    Цитата:
    И да, на всякий случай: акромя имени входного/выходного файлов кавычки в даном случае больше не нужны.

    Ес-но.

    Цитата:
    Хрустальнй шар шепчет, что и параметры закавычены.
     

    Вас обманули - вместо хрустального шара подсунули шар из стекла
     
    Добавлено:
    Смешно - но сегодня всё заработало . Видимо, мы с V0lt не совсем поняли друг друга. Точнее, я невнятно сформулировал .
    Я хотел, чтобы при запуске "Перекодировка.bat", обрабатывались все файлы в каталоге. Поэтому и положил его ("Перекодировка.bat") в каталог, путь к которому есть в переменной %PATH%. Там же и находится FFmpeg и ещё много чего полезного .
    А вызывал уже из каталога, в котором файл, требующий перекодировки, преусловутый "Перекодировка.bat". Получал означенную ошибку.
    А сегодня просто запустил "Перекодировка.bat" "Длинное название на русском языке.mkv" - пошёл процесс перекодировки.

    Всего записей: 1090 | Зарегистр. 11-01-2019 | Отправлено: 10:06 03-02-2019
    Alex_Piggy

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Доброе время, generator324
    0. "-c:v: Protocol not found". - Запустили без параметров и получили команду  
    ffmpeg -i -c:v libx264 -preset slow -crf 22 -acodec copy .mkv
    1. cd /d "%~dp0" - это переход в папку, где лежит батник. По ситуации.
    2. Вместо %1 - используйте "%~1".
    ffmpeg -i "%~1" -c:v libx264 -preset slow -crf 22 -acodec copy "%~1.mkv"
    Потому что в том виде, что веден конечная команда будет выглядеть так:
    ffmpeg -i "Длинное название на русском языке.avi" -c:v libx264 -preset slow -crf 22 -acodec copy "Длинное название на русском языке.avi".mkv
    3. Обработка всех *.avi файлов в папке, заданной параметром - командой for /r. Если параметр не задан - будет работать в текущей папке. При запуске из проводника текущей папкой для батника может стать профиль пользователя.
    for /r "%~f1." %%i in (*.avi) do ffmpeg -i "%%~i" -c:v libx264 -preset slow -crf 22 -acodec copy "%%~dpni.mkv"

    Всего записей: 1891 | Зарегистр. 07-08-2002 | Отправлено: 11:06 03-02-2019
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    generator324
    Ты просил сделать по аналогии с "Преобразовать_в_MKV.cmd" из шапки. Теперь внимательно прочитай все сообщение, там написано как использовать данный командный файл.

    Всего записей: 10486 | Зарегистр. 05-02-2003 | Отправлено: 11:14 03-02-2019
    generator324

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alex_Piggy
    Спасибо! Со всеми подробностями Даже прокоментировать нечего. Хотя нет, найду!

    Цитата:
    При запуске из проводника текущей папкой для батника может стать профиль пользователя.  

    Никакого Проводника! Только Far, только Хардкор! Он у меня ещё со времён Windows 95 живёт, приятную ностальгию по Нортону освежает
    Ещё раз - СПАСИБО!  
     
    Добавлено:
    V0lt

    Цитата:
    Ты просил сделать по аналогии с "Преобразовать_в_MKV.cmd" из шапки.  

    Дык я и не спорил - мой недочёт. Время было позднее, глазоньки закрывались, и...

    Всего записей: 1090 | Зарегистр. 11-01-2019 | Отправлено: 11:15 03-02-2019
    Valery_Sh



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    generator324
     
    Нудыкть, раз "хардкор" и не всегда используется сценарий, (а для одного файла оно и не надо):
    добавь в PATH путь к бинарникам ffmpeg и "взведи" глобально переменную FFMPEG_DATADIR, чтоб не писать каждый раз длинные строки, а использовать "пресеты" по ситуации. Остальное обычно не слишком длинно.
    В этом случае - комстрока открыта в папке с файлом и всё делается в ней, - в нужном месте, например после -i, открываешь кавычку ("), жмакаешь TAB и нужный файл сам подставится. С результирующим файлом аналогично.
    К ffprobe|ffplay тоже применимо.

    Всего записей: 2171 | Зарегистр. 30-06-2008 | Отправлено: 17:05 03-02-2019 | Исправлено: Valery_Sh, 17:07 03-02-2019
    generator324

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подробнее...

    Всего записей: 1090 | Зарегистр. 11-01-2019 | Отправлено: 19:33 03-02-2019
    Valery_Sh



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    generator324

    Цитата:
    хотя скорее всего я просто не сумел в нём разобраться
    Я про вот это:
    ffmpeg -i "%~1" -c:v libx264 -preset slow -crf 22 -acodec copy "%~1.mkv"  

    здесь %~1 -- есть второй параметр строки запуска - имя файла. Т.е., его надо или передать as is, или "натянуть" нужный файл на иконку сценария.
    Но правильней так, наверное

    Код:
    ffmpeg -i "%1" -c:v libx264 -preset slow -crf 22 -c:a copy "%~dpn1.mkv"

    Тут в ветке по сценариям была хорошая ссылка как раз по таким "нюансам".

    Всего записей: 2171 | Зарегистр. 30-06-2008 | Отправлено: 20:00 03-02-2019
    generator324

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Valery_Sh

    Цитата:
    Но правильней так, наверное


    Код:
    ffmpeg -i "%1" -c:v libx264 -preset slow -crf 22 -c:a copy "%~dpn1.mkv"  

    Так не работает, пишет: ": No such file or directory"

    Цитата:
    Тут в ветке по сценариям была хорошая ссылка как раз по таким "нюансам".

    Наверное, стоит туда пойти...
    Эх, меня и так камрад V0lt из одной ветки уже "прогнал"
    Так и кочую из ветки в ветку, горемыка

    Всего записей: 1090 | Зарегистр. 11-01-2019 | Отправлено: 20:06 03-02-2019 | Исправлено: generator324, 20:11 03-02-2019
    Valery_Sh



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    пишет: ": No such file or directory"  

    Ну, тогда вместо "%1" - "%~f1".

    Всего записей: 2171 | Зарегистр. 30-06-2008 | Отправлено: 20:14 03-02-2019
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    generator324
    Скажи один раз четко и коротко (без ссылок на другие скрипты) чего тебе надо сделать.
     
    А то в теме всякие FAR-ы, PATH-ы, "длинные названия" - чего обсуждаем непонятно.

    Всего записей: 10486 | Зарегистр. 05-02-2003 | Отправлено: 20:17 03-02-2019
    generator324

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Valery_Sh

    Цитата:
    Ну, тогда вместо "%1" - "%~f1".

    Тоже самое (та же ошибка)
     
    V0lt

    Цитата:
    Скажи один раз четко и коротко (без ссылок на другие скрипты) чего тебе надо сделать.

    Нужно чтобы при вызове бат-ника (сам бат-ник находится в %PATH%) из любого каталога обрабатывались все файлы в каталоге. Без подкаталогов.
    Вызываю из корня - обрабатываются все файлы из корня, если они есть. Захожу (FAR, CMD) в любой каталог, набираю "2code" (имеется ввиду 2code.bat, содержащий нужную мне строчку для конвертации) - запускается процесс перекодирования всех файлов в каталоге.

    Всего записей: 1090 | Зарегистр. 11-01-2019 | Отправлено: 20:34 03-02-2019
    Valery_Sh



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    generator324
     
    ну и зчем тебе тогда вариант, который предполагает передачу имени входного файла в качестве аргумента (%1)  при запуске твоего сценария?
     
    Тебе нужно совсем другое, типа такого (батник рядом с файлами)

    Код:
    for %%i in (*.avi) do (
    ffmpeg -hide_banner -i "%%i" -c:v libx264 -preset slow -crf 22 -c:a copy "%~dpni.mkv"  )

    других подробностей ты не привёл, потому и ответ "сферический".
     
    Потому выше писал о пресетах ffmpeg и переменной FFMPEG_DATADIR - в этом случае они как раз и пригодились бы.
    И не надо никаких "особых" сценариев незнамо где.

    Всего записей: 2171 | Зарегистр. 30-06-2008 | Отправлено: 21:32 03-02-2019 | Исправлено: Valery_Sh, 21:33 03-02-2019
    generator324

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Valery_Sh
    Тут не понял ничего .  
    Наверное, всё же продолжать стоит в РМ.

    Всего записей: 1090 | Зарегистр. 11-01-2019 | Отправлено: 21:41 03-02-2019
    Valery_Sh



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Скажи один раз четко и коротко (без ссылок на другие скрипты) чего тебе надо сделать.  

    (цэ) V0lt
    http://forum.ru-board.com/topic.cgi?forum=5&topic=45173&start=560#12

    Всего записей: 2171 | Зарегистр. 30-06-2008 | Отправлено: 21:42 03-02-2019
    vlad_001

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt
    спасибо, этот вариант прокатил, при одном условии, что файлы пронумерованы, файлы с русскими именами не прошли

    Всего записей: 166 | Зарегистр. 10-04-2013 | Отправлено: 21:46 03-02-2019
    Valery_Sh



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    generator324
     
    мой тебе добрый совет: нужен ffmpeg - читай доки. Новые версии сильно отличаются от старых, и не всегда ffmpeg выводит сообщение про "устаревшую опцию".
    А про пользовательские пресеты вообще нет инофрмации акромя файлов справки.

    Всего записей: 2171 | Зарегистр. 30-06-2008 | Отправлено: 09:14 05-02-2019
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Может кто в курсе, почему ffmpeg начинает тошнить в лог при попытке разборки файлов из этой раздачи http://rutracker.cr/forum/viewtopic.php?t=4478555 ?
     
    Подробнее...

    Всего записей: 2089 | Зарегистр. 19-09-2011 | Отправлено: 03:27 12-02-2019
    Aleksoid1978



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baltazar500
    Ну если примерно - значит что временные метки потока изменяются не "монотонно", т.е. не постоянно - блин даже не знаю как правильно объяснить

    ----------
    AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /Patriot 32Gb@3200 /Kingston 500Gb M.2 /RTX 4060 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

    Всего записей: 9225 | Зарегистр. 11-05-2006 | Отправлено: 04:24 12-02-2019
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Aleksoid1978, ну то есть демукс дорожек оттуда с помощью ffmpeg невозможен ? Мне пришлось вместо  использования ffmpeg маяться с VirtualDubMod, благо было достаточно сохранить joblist и ракетно откорректировать конечные манипуляции с файлами, заменив их демуксом.

    Всего записей: 2089 | Зарегистр. 19-09-2011 | Отправлено: 11:29 12-02-2019 | Исправлено: Baltazar500, 11:29 12-02-2019
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98

    Компьютерный форум Ru.Board » Компьютеры » Программы » Закладки » FFmpeg


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru