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

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

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет!
    Подскажите, пожалуйста, как мне сделать, чтоб при объединении файлов в файле списка этих самых файлов, можно было бы прописывать файлы с их полными путями? То есть объединять файлы из разных папок. W10, если что.
    Похоже сабж выкидывает из имени файла обратные слежи.
     
    зы. Методом научного тыка определил, что эти имена надо заключать в одинарные апострофы. Всем спасибо!

    Всего записей: 2448 | Зарегистр. 18-05-2005 | Отправлено: 18:36 28-01-2024 | Исправлено: Samotek, 18:46 28-01-2024
    MMasutin

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Haличие ' в именах объединеняемых файлов вызовет ошибку. Bo избежание этого меняю одинарные кавычки на похожий знак. Может, есть иной способ.
    2) Paз так много обсуждали UTF-8 и кириллицy, cмысл UTF-8 для показа кириллицы? Toлькo если язык системы (Locale) не Русский или иной язык c поддержкой кириллицы?

    Всего записей: 73 | Зарегистр. 05-01-2021 | Отправлено: 20:41 28-01-2024
    Samotek

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

    Цитата:
    Haличие ' в именах объединеняемых файлов вызовет ошибку

    У меня не вызывает.

    Цитата:
    cмысл UTF-8 для показа кириллицы?

    Мне с кирилицей понятней. Кроме того это позволяет действовать по установленному мной и для меня алгоритму не заморачиваясь на детали.
     
     

    Всего записей: 2448 | Зарегистр. 18-05-2005 | Отправлено: 20:53 28-01-2024
    V0lt



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

    Цитата:
    Paз так много обсуждали UTF-8 и кириллицy, cмысл UTF-8 для показа кириллицы?

    Потому что от Windows-1251 и прочих однобайтных кодировок только вред.
    На дворе 2024 год. В именах файлов могут использоваться (и активно используются) разные символы. Например, скачал видео с Ютуба с названием "e, π и другие иррациональности.mp4" и спокойно с ним работаю, ничего не переименовывая.

    Всего записей: 10507 | Зарегистр. 05-02-2003 | Отправлено: 21:18 28-01-2024
    griha09

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, как в FFmpeg узнать имя своего устройства для параметра -init_hw_device?  
     
    Я хочу активировать видеофильтры Vulkan. В документации (https://ffmpeg.org/ffmpeg-filters.html#Vulkan-Video-Filters) написано:
    Для запуска фильтров Vulkan требуется инициализировать аппаратное устройство и передать это устройство всем фильтрам в любом графе фильтров.
     
    -init_hw_device vulkan[=name][:device[,key=value...]]
     
    Как узнать имя устройства?
     
    У меня видеокарта Gigabyte GTX 1070 8ГБ.

    Всего записей: 7 | Зарегистр. 23-08-2014 | Отправлено: 09:35 29-01-2024
    V0lt



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

    Код:
    ffmpeg -init_hw_device "vulkan=vk:0"

    Всего записей: 10507 | Зарегистр. 05-02-2003 | Отправлено: 18:42 29-01-2024
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
           Если media файл не совсем 'правильный', то при попытке 'отрезать' от него часть с '-c copy' FFmpeg находит 'неправильности' и процесс прерывается. Есть ли другие инструменты, которые могут это сделать 'нисмотря ни на что'?

    Всего записей: 2218 | Зарегистр. 09-01-2010 | Отправлено: 11:45 16-02-2024
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    Хотя бы формат назовите. MPEG-TS с концов можно резать чем угодно.

    Всего записей: 10507 | Зарегистр. 05-02-2003 | Отправлено: 17:38 16-02-2024 | Исправлено: V0lt, 18:25 16-02-2024
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
          Вы правы, на всех форматах я не проверял. У меня такое затруднение случилось в случае с контейнером 'mp4'.

    Всего записей: 2218 | Зарегистр. 09-01-2010 | Отправлено: 19:06 16-02-2024
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    Попробуйте перед обрезанием проблемного файла, сначала прогнать его как есть.

    Код:
    ffmpeg -i "damaged.mp4" -c copy "fixed.mp4"

    После чего работайте с "fixed.mp4".

    Всего записей: 10507 | Зарегистр. 05-02-2003 | Отправлено: 19:29 16-02-2024 | Исправлено: V0lt, 19:35 16-02-2024
    digital422

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Не могу заставить ffmpeg с форматом -f segment -segment_time 01:00:00.000 заставить создавать ровные файлы с 00 минутами и секундами, все равно иногда создается файл с минусом в 1 сек, например 11:59 вместо 12:00. Причем эта ошибка возникает только в Linux сборке, в Windows файлы создаются ровные (сборки свои, configure одинаковый).  Никто не сталкивался с подобной проблемой?

    Всего записей: 354 | Зарегистр. 19-04-2003 | Отправлено: 19:10 27-02-2024
    FiLinX



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    digital422
     --download-sections  берёт по ключевым кадрам
    можешь попробовать и вот так, но..
     
        Скачать фрагмент с точным временем (оооочень медленно + кипит проц) ("inf"  -  значит до конца видео)
    yt-dlp.exe --download-sections "*6:02:95-inf" --force-keyframes-at-cuts https://youtu.be/Yp5hTwBtUZM
     
    Добавлено:
    ой, упс.. я перепутал темы)  
    написанное, чисто для yt-dlp, без ffmpeg

    Всего записей: 1774 | Зарегистр. 05-05-2010 | Отправлено: 21:13 27-02-2024 | Исправлено: FiLinX, 21:18 27-02-2024
    greeple

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    digital422
    там пишут что надо ss и перед -i и после, перед для быстроты после для точности, попробуй https://superuser.com/a/704118
     
    Добавлено:
    ещё там есть -vframes можешь попробовать
    или во времени поставь .0 после секунд типа так 02:95.0

    Всего записей: 4251 | Зарегистр. 11-02-2020 | Отправлено: 21:44 27-02-2024
    digital422

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    FiLinX, greeple
    Забыл уточнить - у меня непрерывный входной аудио источник (alsa и http), поэтому -ss здесь не подходит.  Можно через -ss и ffmpeg запускать через while, чтобы после окончания он запускался снова, но это не совсем правильно.  

    Всего записей: 354 | Зарегистр. 19-04-2003 | Отправлено: 07:00 28-02-2024
    greeple

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    digital422
    погугли
    -force_key_frames
    -segment_frames
    https://ffmpeg.org/ffmpeg-all.html#toc-Examples-20
     
    не знаю что там у тебя за непрерывная, но с трансляции ютуба yt-dlp так в ffmpeg закидывает  
    ffmpeg -y -loglevel verbose -headers "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.115 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-us,en;q=0.5
    Sec-Fetch-Mode: navigate
    " -t 15.0 -i "https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/.../index.m3u8" -f mpegts "file:lofi hip hop radio 📚 - beats to relax⧸study to 2024-02-28 12_43 [jfKfPfyJRdk].mp4.part"
    и 15секунд сохраняется -t 15.0 потом -i поток и -f mpegts тут
    потом ещё из ts муксится, но не суть
    у тебя -f segment у него там свои ключи выше примеры есть по ссылке, но можешь попробовать так же как для ютуба, если поток в mpegts
     
    Добавлено:

    Цитата:
    Причем эта ошибка возникает только в Linux сборке

    ага, не заметил, ну тогда кто нибудь ответит кто пользуется линуксом

    Всего записей: 4251 | Зарегистр. 11-02-2020 | Отправлено: 12:58 28-02-2024
    FiLinX



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    digital422
    Цитата:
     непрерывный входной аудио источник (alsa и http)

    может лучше найти какую нить готовую тулзу захвата?  
    где бы писало аудио в режиме VOX (с пропуском тишины)
    у меня вот на недобуке с ХР жёстким костылём так пишет звук с системы древнючий i-Sound Pro
    создаёт именные по времени аудиофайлы, продолжительностью - пока VOXом чует превышение уровня выставленного порога, и если тишины более 10 сек то следующий диалог запишет в новый файл..
    ну, это я так настроил в прожке, но можно и жёстко указать хоть поминутные файлы делать..
    для винды таких захватчиков с воксом полно

    Всего записей: 1774 | Зарегистр. 05-05-2010 | Отправлено: 13:51 28-02-2024 | Исправлено: FiLinX, 16:35 01-03-2024
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
          FFmpeg может наложить текст на 'video'. Но можно ли это делать при скачивании? 'На лету', так сказать.

    Всего записей: 2218 | Зарегистр. 09-01-2010 | Отправлено: 20:49 04-03-2024 | Исправлено: LZAA, 02:12 05-03-2024
    notinthewoods



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    Например, скачивание с YouTube (ID форматов 137 и 140):

    Код:
    for /f "delims=" %i in ('yt-dlp -f 137 -g "https://www.youtube.com/watch?v=UagA3NO3NIg"') do set link1=%i
    for /f "delims=" %i in ('yt-dlp -f 140 -g "https://www.youtube.com/watch?v=UagA3NO3NIg"') do set link2=%i
    ffmpeg -hide_banner -i "%link1%" -i "%link2%" -i logo.png -filter_complex "[2]lut=a=val*0.50[3]; [0][3]overlay=1623:50" -crf 24.0 -preset veryfast -c:a copy SURF_LOGO_137-140-50percent.mp4

    Фильтр lut - для установки степени непрозрачности логотипа (.png) при наложении на видео. В данном случае 0.50 -> 50 процентов от исходной.
    Потоки:
    [0] - видео
    [1] - аудио
    [2] - лого (исходный .png с альфа-каналом)
    [3] - лого (преобразованный .png с альфа-каналом, с пониженной непрозрачностью)
    1623:50 - координаты левого верхнего угла лого относительно левого верхнего угла кадра (1920x1080), размеры исходного logo.png - 247x60
     
    Наложение логотипа - это процесс фильтрации для ffmpeg. Следовательно, прямопотоковое копирование видео невозможно. Получается, что ffmpeg будет по полученным ссылкам от yt-dlp "на лету" перекодировать видеопоток (-crf 24.0 -preset veryfast).
     
    Пример с логотипом без понижения непрозрачности (в коде будет просто: -filter_complex overlay=1623:50):
    https://i.imgur.com/D9LgZdw.jpeg

    Всего записей: 495 | Зарегистр. 31-01-2015 | Отправлено: 06:45 05-03-2024
    LZAA

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

         '.png' - это картинка. Меня интересует 'текст':
        https://stackoverflow.com/questions/17623676/text-on-video-ffmpeg
        Желательно код минимизировать:
        1. 'yt-dlp' не используем.
        2. '-c copy'.

    Всего записей: 2218 | Зарегистр. 09-01-2010 | Отправлено: 12:28 05-03-2024
    V0lt



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

    Цитата:
    Меня интересует 'текст':
    https://stackoverflow.com/questions/17623676/text-on-video-ffmpeg
    ...
    2. '-c copy'.

    Невозможное просите.

    Всего записей: 10507 | Зарегистр. 05-02-2003 | Отправлено: 14:02 05-03-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

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