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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114

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

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).
     
    Сборки для Windows 7
     
    Запуск офф. сборок 7.0.1 на Windows 7  
     
    Список различных сборок.
     
    Архив старых версий ffmpeg
     
    По общим вопросам написания командных файлов есть отдельная тема "Командная строка, батники, сценарии - bat, cmd".

  • Всего записей: 67 | Зарегистр. 28-02-2007 | Отправлено: 17:23 21-11-2012 | Исправлено: ED_Sln, 08:32 02-10-2024
    Tower_VA

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я и не знал что FFmpeg столько модов, не понял только зачем столько и чем принципиально отличаются? Вот мне например нужно только аудио дорожку вытащить из mp4 & mkv файлов в формате mp3 и иногда субтитры. Есть ли разница под мои задачи каким модом и версией пользоваться или нет? ОСи разные, в одном случае Вин 10-64 в другом Вин-7-32. Подскажите пожалуйста кто знает.
    Спасибо!

    Всего записей: 93 | Зарегистр. 21-06-2023 | Отправлено: 21:30 19-05-2024
    V0lt



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

    Цитата:
    Я и не знал что FFmpeg столько модов

    В общем случае сборки FFmpeg - не моды.
    За исключением тех, что с поддержкой XP, там исходный код был изменен.
     
     
    Добавлено:

    Цитата:
    не понял только зачем столько и чем принципиально отличаются?

    У сборок разное наполнение. По ссылке (которая взята с офиц. страницы загрузки) все расписано и разжевано - https://www.gyan.dev/ffmpeg/builds/
     
    Добавлено:

    Цитата:
    Вот мне например нужно только аудио дорожку вытащить из mp4 & mkv файлов в формате mp3 и иногда субтитры.

    В вашем случае пофиг какую сборку использовать, хоть официальную, хоть от AnimMouse.
    Могли бы потратить 10 минут скачав, что любую сборку и убедиться в этом самостоятельно.

    Всего записей: 10787 | Зарегистр. 05-02-2003 | Отправлено: 21:43 19-05-2024
    Tower_VA

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

    Цитата:
    В вашем случае пофиг какую сборку использовать, хоть официальную, хоть от AnimMouse.
    Могли бы потратить 10 минут скачав, что любую сборку и убедиться в этом самостоятельно.

    Я и скачал разных штук 5-6 и попробовал разницы не заметил по этому и решил уточнить. А почитать конечно можно но мне почти 60 и голова уже не такая светлая, поэтому и спросил уж не гневайтесь
    Спасибо!

    Всего записей: 93 | Зарегистр. 21-06-2023 | Отправлено: 22:59 19-05-2024
    neorumtu

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

    Цитата:
    не понял только зачем столько и чем принципиально отличаются

    В основном внешними либами, которые обычно кодеры. Те самые --enable. А почти все декодеры встроены в голый ffmpeg (кроме av1).
     

    Цитата:
    Вот мне например нужно только аудио дорожку вытащить из mp4 & mkv файлов в формате mp3 и иногда субтитры

    Достаточно голого ffmpeg (который можно и самому собрать). + libmp3lame и не помешает zlib.
    Но такие сборки обычно не делают, кроме любителей минимизации.
     

    Цитата:
    зачем столько

    При сборке ffmpeg есть тонны опций, которые можно включить/отключить. Универсального рецепта нет. Можно включить максимум возможного, но тогда будет жирная сборка. Поэтому делают обычно full + lite. И многие сборщики уже забросили 32 бит (компилятор 32 битный еще поискать).
    Есть еще extra lite. Это когда только ffmpeg код и ничего лишнего. Такое делают только любители (кому нужна минимизация).
     
    Потому что ffmpeg голый он может многое декодировать (кроме av1), но содержит мало кодеров (особенно для видео), так называемые native encoders. Без поддержки сети.
     
    Добавлено:
    А вот есть скажем fdk-aac кодер. Очень качественный, но лицензия не позволяет распространять сборки с ним (только для себя). Поэтому сборки ffmpeg с fdk-aac еще поискать.

    Всего записей: 732 | Зарегистр. 30-08-2023 | Отправлено: 01:25 20-05-2024
    ED_Sln



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

    Цитата:
    Вот мне например нужно только аудио дорожку вытащить из mp4 & mkv файлов в формате mp3 и иногда субтитры.

    В принципе для этих задач ffmpeg можно и не обновлять. Даже если попадется видео с новым видео кодеком, то аудио и субтитры все равно вытащить можно. Но если хотите новую, то берите 32 битную от AnimMouse, чтобы работала на любой ОС.

    Всего записей: 798 | Зарегистр. 05-11-2009 | Отправлено: 08:00 20-05-2024
    Tower_VA

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

    Цитата:
    При сборке ffmpeg есть тонны опций, которые можно включить/отключить. Универсального рецепта нет. Можно включить максимум возможного, но тогда будет жирная сборка. Поэтому делают обычно full + lite. И многие сборщики уже забросили 32 бит (компилятор 32 битный еще поискать).
    Есть еще extra lite. Это когда только ffmpeg код и ничего лишнего. Такое делают только любители (кому нужна минимизация).

    Большое спасибо за пояснения. Я в основном (да и то теперь редко) выдираю аудио дорожку из мп4 с (H264) и ААС но вывожу в мп3 так как внешний ААС выведенный без изменений (как есть) почему то потом дает рассинхрон звука а мп3 нормально, так и не понял почему но и возиться не стал мне все равно это же не музыка а просто болтовня А на счет размера файла, ну пусть будет большой это всего лишь 80-120мб. Может конечно на скорость декодирования влияет но мне не критично я не сотнями дорожки вытаскиваю. Еще раз спасибо.

    Всего записей: 93 | Зарегистр. 21-06-2023 | Отправлено: 10:03 20-05-2024
    ED_Sln



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

    Цитата:
    так как внешний ААС выведенный без изменений (как есть) почему то потом дает рассинхрон звука

    Чтобы такого не было, добавляйте его в контейнер mka, плеер подхватит его. Для ваших целей больше подойдет mkvtoolnix. Извлекаете звук в mka, субтитры можно извлечь через mkvextract, который входит в состав  mkvtoolnix, есть GUI, но можно и через cmd.

    Всего записей: 798 | Зарегистр. 05-11-2009 | Отправлено: 10:43 20-05-2024
    V0lt



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

    Цитата:
    Я в основном (да и то теперь редко) выдираю аудио дорожку из мп4 с (H264) и ААС но вывожу в мп3 так как внешний ААС выведенный без изменений (как есть) почему то потом дает рассинхрон звука а мп3 нормально, так и не понял почему

    AAC скорее всего с переменным битрейтом и укладывается в "контейнер" ADTS, в котором отсутствует индекс и прочее. Навигация по таким файлам очень примерная.
     
    ED_Sln

    Цитата:
    Чтобы такого не было, добавляйте его в контейнер mka, плеер подхватит его. Для ваших целей больше подойдет mkvtoolnix.

    Раз уж звук извлекается из видеофайла с помощью FFmpeg, то mkvtoolnix не нужен. Просто указать расширение .m4a или .mka для выходного файла.

    Всего записей: 10787 | Зарегистр. 05-02-2003 | Отправлено: 17:28 20-05-2024
    ED_Sln



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt
    Можно и так, только без кодирования (сейчас то в mp3 кодируется сразу), а через -c:a copy

    Всего записей: 798 | Зарегистр. 05-11-2009 | Отправлено: 18:15 20-05-2024
    Tower_VA

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

    Цитата:
    Можно и так, только без кодирования (сейчас то в mp3 кодируется сразу), а через -c:a copy
     

    Я к сожелению почти ничего в этом не понимаю, посмотрел примеры в интернете и сделал как написано:   ffmpeg.exe -i Video.mp4 -vn -acodec copy Video.aac  В таком виде если плэйер (любой) переключить на внешнюю дорогу происходит рассинхрон звука. Может что то не так делаю... а разбираться самому с кучей ключей голова уже не соображает. Как то так.

    Всего записей: 93 | Зарегистр. 21-06-2023 | Отправлено: 20:22 20-05-2024 | Исправлено: Tower_VA, 20:25 20-05-2024
    Alex_Qwerty

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

    Код:
     
    @echo off
    if %1.==. goto help
    if not %2.==. goto combine
    if exist "%~1.mp3" goto quit
    ffmpeg.exe -i "%~1" -codec copy "%~1.mp3"
    if not errorlevel 1 goto quit
    ffmpeg.exe -y -i "%~1" "%~1.mp3"
    goto quit
    :help
    echo extract sound as mp3:
    echo %0 file.mp4
    echo.
    echo combine video and sound:
    echo %0 file.mp4 file.mp3
    goto quit
    :errorSame
    echo same arguments!
    pause
    goto quit
    :combine
    if "%~1"=="%~2" goto errorSame
    ffmpeg.exe -an -i "%~1" -i "%~2" -map_metadata 0 -codec copy "%~1.mp4"
    :quit
     


    Всего записей: 2342 | Зарегистр. 09-09-2006 | Отправлено: 20:30 20-05-2024
    ED_Sln



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Tower_VA
    Ну так мы подскажем В общем то нужно просто изменить расширение выходного файла  
     
    ffmpeg.exe -i Video.mp4 -vn -acodec copy Video.mka  
     
    ffmpeg сам все сделает, уложит дорожку в контейнер mka и рассинхрона больше не будет. При желании в контейнер можно даже добавить описание, язык, будет так же, как внутри видео.

    Всего записей: 798 | Зарегистр. 05-11-2009 | Отправлено: 20:36 20-05-2024
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Tower_VA
    Для внешних дорожек используйте расширение .m4a или .mka (звук будет в правильном контейнере). Тот, кто в "интернере" использовал .aac, преследовали другие цели.

    Всего записей: 10787 | Зарегистр. 05-02-2003 | Отправлено: 20:45 20-05-2024
    Tower_VA

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

    Цитата:
    ffmpeg.exe -i Video.mp4 -vn -acodec copy Video.mka  
     
    ffmpeg сам все сделает, уложит дорожку в контейнер mka и рассинхрона больше не будет. При желании в контейнер можно даже добавить описание, язык, будет так же, как внутри видео.

    Вроде работает, пробовал правда из .mkv выдирать, заметил что работает быстрее чем если мп3 делать. У меня по ходу еще вопрос возник, если вдруг дорожек несколько в видео файле как выбрать определенную на вывод? И что значит добавить язык. Смысл моей возни заключается вот в чем, есть например ролик на английском и есть другой такой же но с переводом на русский. Можно конечно просто оставить тот ролик что на русском а английский грохнуть. Но я к английскому кладу рядом внешнюю русскую дорогу вынутую из русского ролика и русский потом удаляю. Хочу оба языка оставлять, можно конечно вшить русскую в английский ролик но мне возиться с этим не охота да и уметь надо. А так как все плэйеры сейчас подключают внешнюю дорожку то мне это замечательно подходит. Спасибо Всем за помощь!
     
    Добавлено:

    Цитата:
    Код:
     
    @echo off
    if %1.==. goto help
    if not %2.==. goto combine
    if exist "%~1.mp3" goto quit
    ffmpeg.exe -i "%~1" -codec copy "%~1.mp3"

    Я жутко извиняюсь а что конкретно делает этот командный файл? Особенно предпоследняя строка. Спасибо.

    Всего записей: 93 | Зарегистр. 21-06-2023 | Отправлено: 22:03 20-05-2024
    351878



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

    Всего записей: 1207 | Зарегистр. 28-03-2016 | Отправлено: 23:13 20-05-2024 | Исправлено: 351878, 23:17 20-05-2024
    ED_Sln



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

    Цитата:
    заметил что работает быстрее чем если мп3 делать.
     
    Всё правильно, звук теперь не перекодируется, а извлекается, поэтому скорость обработки зависит только от скорости чтения файла видео с диска.

    Цитата:
    У меня по ходу еще вопрос возник, если вдруг дорожек несколько в видео файле как выбрать определенную на вывод?

    Для этого лучше использовать какой-то GUI, потому что под каждый файл с аудио дорожками больше одной придется экспериментировать с командой -map, а там много комбинаций может быть.

    Цитата:
    И что значит добавить язык.

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

    Цитата:
    Я жутко извиняюсь а что конкретно делает этот командный файл?

    Как я понял, он пересобирает видео с mp3 дорожкой.

    Всего записей: 798 | Зарегистр. 05-11-2009 | Отправлено: 08:02 21-05-2024
    Tower_VA

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

    Цитата:
    Когда будете выбирать дорожку, то будет написано, что язык дорожки русский.

    В описании команд нашел только это; -alang jpn    Выбираем язык аудио  но с этим ключев вылетает с ошибкой.

    Всего записей: 93 | Зарегистр. 21-06-2023 | Отправлено: 09:12 21-05-2024
    ED_Sln



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Tower_VA
    Это не то.
    ffmpeg.exe -i Video.mkv -vn -acodec copy -metadata:s:a:0 language=ru -metadata:s:a:0 title="Озвучка" Video.mka
     
    Соответственно -metadata:s:a:0 language=ru это язык дорожки, а -metadata:s:a:0 title="Озвучка" - описание.

    Всего записей: 798 | Зарегистр. 05-11-2009 | Отправлено: 09:29 21-05-2024
    Tower_VA

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

    Цитата:
    ffmpeg.exe -i Video.mkv -vn -acodec copy -metadata:s:a:0 language=ru -metadata:s:a:0 title="Озвучка" Video.mka
     
    Соответственно -metadata:s:a:0 language=ru это язык дорожки, а -metadata:s:a:0 title="Озвучка" - описание.

    Ошибок вроде бы нет файл создается но в названии дорожки стоит просто Video.mka
    Ничего не добавляется.

    Всего записей: 93 | Зарегистр. 21-06-2023 | Отправлено: 10:22 21-05-2024
    ED_Sln



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Tower_VA
    О, действительно, я что-то и не замечал даже, что во внешних файлах не читаются эти данные. Хотя если посмотреть через MediaInfo, то все на месте.
     
    V0lt
    Это баг или фича? И можно ли добавить в MPC-BE, чтобы считывало эти данные с внешних дорожек?

    Всего записей: 798 | Зарегистр. 05-11-2009 | Отправлено: 10:53 21-05-2024
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114

    Компьютерный форум 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