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

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



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    OlegTheMath
    Быстрый способ поворота без перекодирования (через изменение метаданных)
     
    ffmpeg -i input.mp4 -metadata:s:v rotate="90" -c copy output.mp4
     

    Всего записей: 4946 | Зарегистр. 05-01-2006 | Отправлено: 06:49 28-04-2021 | Исправлено: mithridat1, 06:55 28-04-2021
    OlegTheMath



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mithridat1, data man
    Спасибо!

    Всего записей: 190 | Зарегистр. 08-05-2003 | Отправлено: 10:01 28-04-2021 | Исправлено: OlegTheMath, 10:04 28-04-2021
    MMasutin

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как при резке сохранять non-key frames путём копирования или кодирования? Иначе показывается первый/последний kf.

    Всего записей: 71 | Зарегистр. 05-01-2021 | Отправлено: 01:12 02-05-2021 | Исправлено: MMasutin, 20:00 16-05-2021
    Xom9I4oK



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ни у кого случаем не завалялся виндусовый билд данной проги с интегрированным кодером svt-vp9 (наличие чекается командой ffmpeg --help encoder=libsvtvp9).

    Всего записей: 506 | Зарегистр. 01-04-2005 | Отправлено: 17:34 02-05-2021 | Исправлено: Xom9I4oK, 18:22 02-05-2021
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    После ремукса второго сезона данного  сериала (уборка ENG дороги) полученный ремукс на хардварном плеере (dune 102) стал воспроизводиться без звука. Сейчас пытаюсь понять, связано ли это с тем, что fgmpeg перемахал файл в avi формата 2.0 (OpenDML) или из-за того, что влепил кривой ID кодеку AC3 аудиодороги. Вместо 2000
    Код:
    00001000-0000-0020-8000-00AA00389B71
    Параметры ремукса были такие
    Код:
    ffmpeg -i "xxx.avi" -map 0:v -map 0:a:0 -map_metadata 0 -c copy "yyy.avi"
    При этом, смуксенный оригинальный файл через AviDemux хардварный плеер без проблем съел. OpenDML и кривого ID кодека там не было. Всё было как у оригинала. В связи с этим есть пара вопросов.  
     
    1) Можно ли ffmpeg заставить следовать спецификации и сохранять avi в старом формате при габаритах менее 2ГБ (или 4-х, не помню точно), а не более 1ГБ ? Может есть какой ключ, регулирующий этот момент ?
     
    2) Есть ли ключ, который позволяет жёстко регулировать Codec ID (в данном случае AC3) ?

    Всего записей: 2101 | Зарегистр. 19-09-2011 | Отправлено: 05:38 15-05-2021
    V0lt



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

    Цитата:
    После ремукса второго сезона данного  сериала (уборка ENG дороги) полученный ремукс на хардварном плеере (dune 102) стал воспроизводиться без звука. Сейчас пытаюсь понять, связано ли это с тем, что fgmpeg перемахал файл в avi формата 2.0 (OpenDML) или из-за того, что влепил кривой ID кодеку AC3 аудиодороги.

    У вас проблема не в OpenDML (т.к. файл открывается и воспроизводится), а в идентификаторе звуковой дорожки.
    Мой дремучий DVD-плеер спокойно кушал AVI OpenDML. Единственная проблема была с файлами больше 2ГБ из-за ограничений файловых систем оптических дисков.
     

    Цитата:
    При этом, смуксенный оригинальный файл через AviDemux хардварный плеер без проблем съел.

    Посоветую и дальше использовать AviDemux.
     
    Еще могу предложить VirtualDubMod, если в конечном файле будет несколько аудиодорожек, или VirtualDub 1.10.4 - если одна. Посоветую VirtualDub pack rev.14 из шапки темы по VD.
     

    Цитата:
    1) Можно ли ffmpeg заставить следовать спецификации и сохранять avi в старом формате при габаритах менее 2ГБ (или 4-х, не помню точно), а не более 1ГБ ? Может есть какой ключ, регулирующий этот момент ?  

    Нет спецификации, которая запрещает использовать OpenDML для маленьких AVI. Старый формат AVI поддерживает не более 2 ГБ.
    В FFmpeg сделали границу в 1 ГБ, ключа нет.

    Всего записей: 10500 | Зарегистр. 05-02-2003 | Отправлено: 07:43 15-05-2021
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt,
    Цитата:
    У вас проблема не в OpenDML (т.к. файл открывается и воспроизводится), а в идентификаторе звуковой дорожки.
    И как его скорректировать ? При подобной схеме ремукса проблемы конкретно с этой раздачей (2 сезон, первый не брал ибо его выложили вот-вот). С другими аналогичными файлами (avi, 2 A3, дороги, первая RU, вторая ENG) ffmpeg так не чудил и корректно копировал идентификаторы.
    Цитата:
    Посоветую и дальше использовать AviDemux.
    ffmpeg удобен для пакетной обработки через консоль. С AviDemux в этом плане заморочек побольше, плюс ему необходима прединдексация  обрабатываемых файлов, на что надо отдельно тратить время.
    Цитата:
    Еще могу предложить VirtualDubMod, если в конечном файле будет несколько аудиодорожек, или VirtualDub 1.10.4 - если одна. Посоветую VirtualDub pack rev.14 из шапки темы по VD [?].
    VDub позволяет осуществлять пакетную обработку, но не через консоль, ввиду чего ряда нюансов, которые можно учесть в скрипте в нём не получится обработать на автомате. Только вручную.
    Цитата:
    В FFmpeg сделали границу в 1 ГБ, ключа нет.
    Понятно. То-то я гугл замучил, но ничего не нашёл.

    Всего записей: 2101 | Зарегистр. 19-09-2011 | Отправлено: 08:17 15-05-2021 | Исправлено: Baltazar500, 08:19 15-05-2021
    V0lt



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

    Цитата:
    VDub позволяет осуществлять пакетную обработку, но не через консоль

    В комплекте имеется консольная версия (vdub.exe). Также есть возможность запускать GUI-версию с ключами командной строки. Делать можно много чего. Но проблема в том, что писать скрипт придется полностью самому, готовых решений в интернете не найти.
     
    В общем проблема с FFmpeg в следующем:
    Было:
    Код:
    WAVEFORMATEX:
    wFormatTag: 0x2000
    nChannels: 6
    nSamplesPerSec: 48000
    nAvgBytesPerSec: 48000
    nBlockAlign: 1
    wBitsPerSample: 0
    cbSize: 0 (extra bytes)

    Стало:
    Код:
    WAVEFORMATEX:
    wFormatTag: 0xfffe
    nChannels: 6
    nSamplesPerSec: 48000
    nAvgBytesPerSec: 48000
    nBlockAlign: 3840
    wBitsPerSample: 16
    cbSize: 22 (extra bytes)
     
    WAVEFORMATEXTENSIBLE:
    wValidBitsPerSample: 16
    dwChannelMask: 0x0000060f
    SubFormat: {00002000-0000-0010-8000-00AA00389B71}

     
    FFmpeg увидел 6-канальное аудио и расширил структуру WAVEFORMATEX до WAVEFORMATEXTENSIBLE. Что как бы правильно, но для AVI из-за совместимости такое делать не стоит (железо такое может не понять).
    Ключ -write_channel_mask false не помогает.
    По идее надо писать запрос, чтобы сделали параметр для совместимости.
     
     
    Добавлено:
    Создал тикет #9244.

    Всего записей: 10500 | Зарегистр. 05-02-2003 | Отправлено: 09:59 15-05-2021 | Исправлено: V0lt, 10:21 15-05-2021
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt,
    Цитата:
    FFmpeg увидел 6-канальное аудио и расширил структуру WAVEFORMATEX до WAVEFORMATEXTENSIBLE. Что как бы правильно, но для AVI из-за совместимости такое делать не стоит (железо такое может не понять).
    Ключ -write_channel_mask false не помогает.
    Понятно. Значит я наступи на грабли, которые забыли учесть. ОК.
    Цитата:
    Создал тикет #9244.
    Спасибо, я бы может и не заморочился по этому поводу. Просто хотелось понять, в чём проблема. Если бы не решил перепроверить - вообще бы прошёл мимо этой проблемы :/ А оно эвона как оказалось :/
    Цитата:
    В комплекте имеется консольная версия (vdub.exe). Также есть возможность запускать GUI-версию с ключами командной строки. Делать можно много чего. Но проблема в том, что писать скрипт придется полностью самому, готовых решений в интернете не найти.
    Это та, которая работает в связке с AviSynth или я путаю ? В любом случае я в такие дебри VDub'a не лез. Где синтаксис и примеры работы с файлами можно глянуть ?

    Всего записей: 2101 | Зарегистр. 19-09-2011 | Отправлено: 11:21 15-05-2021
    vlad_001

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте!
     
    Есть задача наложить текст на видео FFMPEG-ом
     
    Текст будет кириллицей, должен появляться из центра и длиться с 4 по 9 сек, местоположение и цвет должны быть изменяемыми(редактируемыми)....
     
    подскажите пожалуйста

    Всего записей: 166 | Зарегистр. 10-04-2013 | Отправлено: 20:54 15-05-2021 | Исправлено: vlad_001, 12:14 16-05-2021
    MMasutin

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как при резке сохранять non-key frames путём копирования или кодирования? Иначе показывается первый/последний kf.

    Всего записей: 71 | Зарегистр. 05-01-2021 | Отправлено: 20:10 16-05-2021
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt, походу я всё напутал. Проблемы были с этой раздачей Извиняюсь >_< Путаница возникла из-за того, что релизёр один и тот же, в той раздаче был доложен первый, а я исходники у себя потёр. Сейчас перекачал и перепроверил, оказалось, что ошибся с указанием ссылки.

    Всего записей: 2101 | Зарегистр. 19-09-2011 | Отправлено: 03:18 19-05-2021 | Исправлено: Baltazar500, 03:21 19-05-2021
    V0lt



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

    Цитата:
    Есть задача наложить текст на видео FFMPEG-ом

    Сделать файл субтитров (.ASS) с нужными эффектами. Гугл в помощь.
    А затем отрендерить поверх видео. См. статью HowToBurnSubtitlesIntoVideo.
     
    Baltazar500
    Я раздачу не скачивал, у себя похожий файл нашел и проверил, что выдает FFmpeg.

    Всего записей: 10500 | Зарегистр. 05-02-2003 | Отправлено: 16:54 19-05-2021
    stansharp

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть два видеофайла, в формате ts.
    Оба абсолютно идентичны, из одной трансляции.
    Требуется: Вырезать из каждого фрагменты по две минуты,  
    склеить их и получить в итоге видеофайл длинной четыре минуты в формате  mp4.  
    Желательно копию.
    Вопрос: Как сделать эту операцию в один клик?
    ---------------------------------------------------------
    В чём проблема?
    Создал файл list.txt. В нём прописал
     
    file input1.ts
    inpoint 00:02:00.000
    outpoint 00:04:00.000
    file input2.ts
    inpoint 00:02:00.000
    outpoint 00:04:00.000
     
    Запускаю команду:
     
    ffmpeg -f concat -i list.txt -c copy output.mp4
     
    На выходе получаю файл output.mp4, длинной две минуты.  
    То есть, программа вырезает, форматирует и сохраняет только первый фрагмент.
    -------------------------------------------------------------
    Примечания
     
    1. Если изначально переформатировать оба файла в mp4, то проблем нет.
    Проблема именно с файлами в ts
     
    2. Склеивание двух файлов в ts (без вырезки нужных фрагментов)  
    и последующее переформатирование в mp4, командой:
     
    ffmpeg -i "concat:input1.ts|input2.ts|" -c copy output.mp4"
    )
    pause
     
    программа тоже производит без проблем.
     
    3. Просьба, альтернативные варианты, типа переформатируй, вырежь и склей, не предлагать.)
     
    Нужен именно вариант в один клик!
     

    Всего записей: 9 | Зарегистр. 28-12-2017 | Отправлено: 10:00 05-06-2021 | Исправлено: stansharp, 10:38 05-06-2021
    los

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

    Цитата:
    Создал файл list.txt. В нём прописал...
    ...На выходе получаю файл output.mp4, длинной две минуты.
    То есть, программа вырезает, форматирует и сохраняет только первый фрагмент.
     

    у меня работает без проблем. Возможно дело в версии ffmpeg которую вы используете.

    Всего записей: 7336 | Зарегистр. 08-09-2001 | Отправлено: 12:59 05-06-2021
    stansharp

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо за ответ.
    Версию ffmpeg использую последнюю.
    Пересборка файлов командой:
     
    for %%a in (*.ts) do (
    call ffmpeg -i "%%a" -hide_banner -c copy "%%~na_fix.ts"
     
    решило проблему. Значит проблема не в ts, а в исходных видеофайлах.
    -------------------------------------------------------------------------
    Попробовал склеить исходные файлы командой:
     
    ffmpeg -f concat -i list.txt -c:v libx264 -c:a aac output.mp4
     
    проблему тоже не решило. На выходе опять вырезает только фрагмент из первого файла.
    -------------------------------------------------------------------------
    Ладно, хрен с ним. )
    Если у кого то появиться желание разобраться,  
    на всякий случай, скопирую результат командной строки:
     
    [mpegts @ 0000023e2a9976c0] start time for stream 0 is not set in estimate_timings_from_pts
    Input #0, concat, from 'list.txt':
      Duration: 00:12:37.00, start: -0.050000, bitrate: 0 kb/s
      Stream #0:0: Data: timed_id3 (ID3  / 0x20334449)
      Stream #0:1: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 90k tbn
      Stream #0:2: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 128 kb/s
    Output #0, mp4, to 'output.mp4':
      Metadata:
        encoder         : Lavf59.2.101
      Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 30 fps, 30 tbr, 90k tbn
      Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
    Stream mapping:
      Stream #0:1 -> #0:0 (copy)
      Stream #0:2 -> #0:1 (copy)
    Press [q] to stop, [?] for help
    [mpegts @ 0000023e2b54c340] start time for stream 0 is not set in estimate_timings_from_pts3x
    frame= 5879 fps=0.0 q=-1.0 Lsize=  125954kB time=00:03:16.05 bitrate=5262.8kbits/s speed= 264x
    video:122741kB audio:3064kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.118069%
     
    Я так понимаю, там что то в исходных видеофайлах с таймингами не в порядке. )

    Всего записей: 9 | Зарегистр. 28-12-2017 | Отправлено: 23:39 05-06-2021 | Исправлено: stansharp, 00:26 06-06-2021
    thejustsoul



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кто знает, есть ли плагин или как реализовать активируемую звуком запись через ffmpeg с виртуального кабеля (или любого источника звука)?

    Всего записей: 1789 | Зарегистр. 30-03-2014 | Отправлено: 19:23 06-06-2021
    ksvo

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте! Я так понял ffmpeg кроссплатфомерный! По крайней мере не нашел 32бит на ffmpeg.org 64 битый устанавливаю пишет несовместимо. win7 32bit помогите плиз!

    Всего записей: 43 | Зарегистр. 13-08-2019 | Отправлено: 20:54 06-06-2021 | Исправлено: ksvo, 21:01 06-06-2021
    abc10



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

    Всего записей: 2543 | Зарегистр. 21-11-2005 | Отправлено: 21:11 06-06-2021
    Gideon Vi

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    коллеги, ни кто случайно не видел скомпилированной x86 dll, посвежее?

    Всего записей: 8084 | Зарегистр. 02-02-2004 | Отправлено: 05:24 07-06-2021
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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