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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

guru431

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


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

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

  • Всего записей: 64 | Зарегистр. 28-02-2007 | Отправлено: 17:23 21-11-2012 | Исправлено: V0lt, 13:24 13-03-2022
    V0lt



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

    Всего записей: 9600 | Зарегистр. 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" - пошёл процесс перекодировки.

    Всего записей: 1045 | Зарегистр. 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"

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



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

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

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

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

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

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

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

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



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

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

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

    Всего записей: 1045 | Зарегистр. 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"

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

    Всего записей: 2109 | Зарегистр. 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 из одной ветки уже "прогнал"
    Так и кочую из ветки в ветку, горемыка

    Всего записей: 1045 | Зарегистр. 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".

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



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

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

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

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

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

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

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

    Всего записей: 1045 | Зарегистр. 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 - в этом случае они как раз и пригодились бы.
    И не надо никаких "особых" сценариев незнамо где.

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

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

    Всего записей: 1045 | Зарегистр. 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

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

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

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



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

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



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

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



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

    ----------
    AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /LG 47LM620T /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

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



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

    Всего записей: 1840 | Зарегистр. 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

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


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru