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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131

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

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. Тема, посвященная сборкам ffmpeg/ffprobe, работающих под Windows XP.
    Сборки:
    От Gianluigi Tiesi
    От Reino Wijnsma
    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 на VideoHelp
     
    По общим вопросам написания командных файлов есть отдельная тема "Командная строка, батники, сценарии - bat, cmd".

  • Всего записей: 67 | Зарегистр. 28-02-2007 | Отправлено: 17:23 21-11-2012 | Исправлено: V0lt, 18:34 17-08-2025
    Samotek

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Всем привет!
    Подскажите, пожалуйста, , малопогруженному в сабж синтаксис объединения двух файлов с конвертацией в другой кодек.
    Есть два файла 1.ts и 2.mkv. Делаю список

    Код:
    file 'C:\Кино\2.mkv'
    file 'C:\Кино\1.ts'
     

    Создаю батник с

    Код:
    C:\FPF\ffmpeg\ffmpeg.exe -f concat -safe 0 -i "C:\Кино\Temp\AAAA.list" -c:v libx264 -c:a aac "C:\Кино\Temp\Result\AAAA.mkv" >"C:\Кино\Temp\AAAA.log"
     

    В результате какая то хрень, содержимое которой зависит от последовательности файлов. Как такое сделать правильно?

    Всего записей: 2773 | Зарегистр. 18-05-2005 | Отправлено: 11:51 25-02-2025 | Исправлено: Samotek, 11:53 25-02-2025
    mithridat1



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Samotek
    Сначала сконвертировать в один формат, потом склеить. Но никак не одновременно, получите то что и получили Если видеопоток в роликах закодирован по разному (кодек, разрешение и т.д.) то получите ерунду, без приведения к одному формату ничего не выйдет.

    Всего записей: 5162 | Зарегистр. 05-01-2006 | Отправлено: 11:59 25-02-2025
    Samotek

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mithridat1
    Спасибо. А есть ли возможность при конвертации указать сабжу типа сконвертируй в такой же формат, что и у второго файла?

    Всего записей: 2773 | Зарегистр. 18-05-2005 | Отправлено: 12:31 25-02-2025 | Исправлено: Samotek, 12:56 25-02-2025
    mithridat1



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

    Цитата:
    А есть ли возможность при конвертации указать сабжу типа сконвертируй в такой же формат, что и у второго файла?

    Таких опций не знаю. Если только у условного ChatGPT спросить, но сомневаюсь что в этом случае ИИ сможет помочь. Если ролики разные то без транскодирования не обойтись.

    Всего записей: 5162 | Зарегистр. 05-01-2006 | Отправлено: 15:40 25-02-2025
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mithridat1
    Цитата:
    Если только у условного ChatGPT спросить

    ну если спросить первый вопрос Samotek
    Цитата:
    Как такое сделать правильно?
    то выдаст то что и было уже сказано
    база
    а на второй выдаст (если так и спросить)
    такое вот
    я бы такой батник не использовал потому что не два видео используется же, это просто как инфа. Из первой выдачи и так понятно что должны быть параметры одинаковые какие-то, а какие это уже надо смотреть по хотелкам.
    надо ещё узнать из большого списка файлов какие среди всех файлов параметры самые большие по размерам экрана, битрейту, кадрам в секунду и т.д, чтобы среди всех выбрать одни параметры для конвертации (если надо, либо свои дефолтные вписать и всегда конвертировать в одно)
    на это выдаст такое это сложно (тут он написал что это принципы, а не рабочий батник)

    Всего записей: 7378 | Зарегистр. 11-02-2020 | Отправлено: 16:19 25-02-2025
    Samotek

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    greeple
    То есть у чата получается что бы были равные ширина, высота, битрейт и частота кадров. Этого достаточно или надо еще какой-то параметр приводить? А со звуком что-то надо делать или не обращать внимания Батник мне не нужен, мне проще это в дельфи реализовать.
     
     
    Добавлено:
    greeple
    Спасибо тебе и чату. По его совету сделаю. Я тут пробовал чтоб DeepSeek для AHK подсказал так он направление дал, но в одном случае откровенно подогнал ответ. Есть еще Qwen chat от Алибаба. Но он то же как-то мне наврал. Но все равно помогают, направление дают.

    Всего записей: 2773 | Зарегистр. 18-05-2005 | Отправлено: 18:42 25-02-2025
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Samotek
    Цитата:
    Но все равно помогают, направление дают.

    они просто плохо понимают, им надо правильно задавать вопросы и ставить задачи, как генераторы картинок, им тоже промты надо правильно задавать чтобы получить что хочешь
    оффтоп
    с программированием пока слабо у всех, даже у спецом для этого наученных, но общее представление дают и уже понятно что искать, потом можно конкретные вещи поискать от людей в поисковиках стаковерфлоу всякие и т.д. (хотя у чатов есть и поиск, но чет мне не приглянулось)

    Цитата:
    То есть у чата получается что бы были равные ширина, высота, битрейт и частота кадров. Этого достаточно или надо еще какой-то параметр приводить?

    это я не знаю, я не тестил это

    Цитата:
    А со звуком что-то надо делать или не обращать внимания

    ну как я понял кодек и битрейт у аудио тоже должен быть одинаковый (и громкость желательно, хотя тут уже могут быть свои предпочтения, мне вот не нравится когда одинаково делают, если в оригинале было тихо, а ты увеличиваешь по амплитуде получая ровную колбасу в визуализации частоты или как это назвать)
    про громкость и нормализацию

    Всего записей: 7378 | Зарегистр. 11-02-2020 | Отправлено: 20:01 25-02-2025 | Исправлено: greeple, 20:06 25-02-2025
    Stasx

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    при использовании кодека "aac_at" не работает работает профиль 28 (hev2) на последних версиях AudioToolBox. Как заставить его кодировать в этом профиле?

    Всего записей: 142 | Зарегистр. 10-10-2007 | Отправлено: 01:21 06-03-2025
    artenaki

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

    Всего записей: 45 | Зарегистр. 08-03-2025 | Отправлено: 07:03 13-03-2025 | Исправлено: artenaki, 07:39 13-03-2025
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Через ffmpeg можно на одно изображение наложить другое в качестве watermark барельефа (выпуклый прозрачный текст) ? В качестве вотермарки используется простая (чёрная) надпись на белом фоне, сделанная в paint'e. Вот только ffmpeg её накладывает как есть. Даже простенький редактор в комплекте со snagit накладывает именно как барельеф. Или ffmpeg такого не умеет ? Если нет, то есть ли cmd - софт который умеет ?

    Всего записей: 2530 | Зарегистр. 19-09-2011 | Отправлено: 02:18 20-03-2025
    V0lt



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

    Всего записей: 11207 | Зарегистр. 05-02-2003 | Отправлено: 08:30 20-03-2025
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt,
    Цитата:
    Не понял, что значит "барельеф
    Как-то так. А вот это то, что накладывал.
    Цитата:
    но по ватермаркам есть куча вопросов на StackOverflow.  
    Я знаю, как наложить.
    Код:
    ffmpeg -i aaa.jpg -i mark.png -filter_complex "[0][1]overlay=280:10[bg];[bg][1]overlay=280:60" out.jpg
    Но я не знаю как наложить так, как это делает тот редактор snagit'a. Вроде по ffmpeg'у там что-то было про png и  альфа-каналы, но я не вкурил. В приведённом примере картинка-вотермарка накладывается в исходном виде.

    Всего записей: 2530 | Зарегистр. 19-09-2011 | Отправлено: 10:48 20-03-2025 | Исправлено: Baltazar500, 10:50 20-03-2025
    ED_Sln



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baltazar500
    Так у вашего примера нет прозрачности (альфа-канала), поэтому его и накладывает как есть. Сделал файл с прозрачностью, пробуйте его: https://i.ibb.co/qLfPyr38/8022b02d99c7e05440dbbdd3d5eff1b0.png

    Всего записей: 1564 | Зарегистр. 05-11-2009 | Отправлено: 11:14 20-03-2025
    V0lt



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

    Цитата:
    Как-то так.

    Это похоже на эффект "emboss".
    FFmpeg такое умеет с помощью фильтров "geq" и "convolution" (см. примеры в документации). Но как применить его при наложении картинки на видео, Я не знаю.
     
    Добавлено:
    Лучше наверное изначально подготовить вашу картинку с графическом редакторе со всеми нужными эффектами и прозрачностью, а в FFmpeg только смешивать.
     
    Добавлено:

    Цитата:

    Код:
    ffmpeg -i aaa.jpg -i mark.png -filter_complex "[0][1]overlay=280:10[bg];[bg][1]overlay=280:60" out.jpg

    Смотрю на эту строку и не вижу тут видео. Вам стоит посмотреть в сторону какой-нибудь продвинутой утилиты для редактирования картинок. Например XnConvert.

    Всего записей: 11207 | Зарегистр. 05-02-2003 | Отправлено: 11:28 20-03-2025
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baltazar500
    снагит скорее всего обрабатывает его как маску, в ffmpeg я не смотрел как сделать
    можно в https://imagemagick.org/index.php так сделать саму ватермарку https://usage.imagemagick.org/fonts/#mask

    Код:
    magick -size 360x100 xc:transparent -font Arial -pointsize 70 -fill black -annotate +24+64 Барельеф -fill white -annotate +26+66 Барельеф -fill transparent -annotate +25+65 Барельеф watermark.png

    и уже её применять как оверлей
     
    Вот такие варианты есть, но они делают зеракальные, а выпуклые надо как-то накручивать. Наверно как-то можно, но с ходу так не найдёшь. Даже нейросети не помогают. (emboss у меня не получалось сделать, всегда ошибки разные)

    Код:
    ffmpeg -i input.mp4 -i watermark.png -filter_complex "[1:v]format=rgba,geq=r='r(X,Y)':g='g(X,Y)':b='b(X,Y)':a='if(alpha(X,Y),128,0)'[mask]; [0:v][mask]alphamerge,colorchannelmixer=aa=1.0:bb=1.0[alphamask]; [0:v][alphamask]overlay=x=10:y=10:shortest=1,unsharp=5:5:1.0:5:5:0.0" output.mp4


    Код:
    ffmpeg -i input.mp4 -i watermark.png -filter_complex "[1:v]scale=iw*0.2:ih*0.2[mask]; [0:v][mask]overlay=10:10:shortest=1[masked]; [masked]geq=r='0.8*r(X,Y)+0.2*g(X,Y)+0.2*b(X,Y)':g='0.8*g(X,Y)+0.2*r(X,Y)+0.2*b(X,Y)':b='0.8*b(X,Y)+0.2*r(X,Y)+0.2*g(X,Y)'[grayed]; [grayed]convolution='0 0 0 -1 5 -1 0 0 0':'0 0 0 -1 5 -1 0 0 0'[embossed]; [0:v][embossed]overlay=10:10:shortest=1" output.mp4

     
    ещё есть вариант в drawtext сразу рисовать, но я не пробовал
     

    Код:
    ffmpeg -i input.mp4 -vf "drawtext=fontfile=arial:text='барельеф':fontsize=40:fontcolor=gray:x=100:y=100, drawtext=fontfile=arial:text='барельеф':fontsize=40:fontcolor=white:x=99:y=99, drawtext=fontfile=arial:text='барельеф':fontsize=40:fontcolor=darkgray:x=101:y=101" output.mp4

    типа как-то так, но надо сделать размеры свои и цвета правильно, один надо сделать прозрачным как-то (у меня не получилось), а два других смещённых по разные стороны, белым и черным
     
    PS может быть и к маске можно прописать три варианта чтобы один был прозрачным, и два со смещением по разные стороны с черным и белым цветом, но это уже надо тестить

    Всего записей: 7378 | Зарегистр. 11-02-2020 | Отправлено: 20:52 20-03-2025 | Исправлено: greeple, 22:11 20-03-2025
    Antonij72



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Есть качалка с ю-туб - yt-dlp.exe. Рядом с ней лежит файл ffmpeg.exe.
     
    Команда

    Код:
    yt-dlp.exe --embed-chapters -f %num% "%url%" -o "g:\_Down\%%(title).50s.%%(ext)s" --no-part

    скачивает видео с ютуба и, если под видео есть "треклист/содержание" вида

    Код:
    00:00 глава 1
    00:22 трам-пам-пам
    01:38 трам-тарам
    ...
    ...

    то, с помощью ffmpeg.exe интегрирует эти chapters в видео, как главы для навигации.
     
    Теперь вопрос.
    Есть файл видео (mp4 или mkv) и рядом с ним лежит текстовый файл chapters.txt вида

    Код:
    00:00 глава 1
    00:22 трам-пам-пам
    01:38 трам-тарам
    ...
    ...

     
    Нужна команда, которая, аналогично yt-dlp.exe, с помощью ffmpeg.exe интегрирует эти chapters из файла chapters.txt в файл видео, как главы для навигации.
     
    Прочитал https://ffmpeg.org/ffmpeg-formats.html#Metadata-1 , но не понял ничего...

    ----------
    Я, инвалид 1 группы, ищу работу. Или благотворительную помощь. Спасибо.

    Всего записей: 4025 | Зарегистр. 11-07-2005 | Отправлено: 21:49 23-03-2025
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Antonij72
    А чем изначально скачиваемое с параметром   --embed-chapters  не устроило?

    Всего записей: 19756 | Зарегистр. 04-11-2010 | Отправлено: 22:01 23-03-2025
    Antonij72



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    insorg
    Всем устраивало. До начала торможения Ютуба. Теперь yt-dlp.exe у меня с ютуба не качает. Приходится качать всякими обходными путями.
     
    Но Ваш вопрос уводит в сторону от моего вопроса.

    ----------
    Я, инвалид 1 группы, ищу работу. Или благотворительную помощь. Спасибо.

    Всего записей: 4025 | Зарегистр. 11-07-2005 | Отправлено: 22:08 23-03-2025 | Исправлено: Antonij72, 22:30 23-03-2025
    V0lt



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

    Цитата:
    Прочитал https://ffmpeg.org/ffmpeg-formats.html#Metadata-1 , но не понял ничего...

    Я бы сразу с 5-й главы читал - https://ffmpeg.org/ffmpeg-formats.html#metadata
     
    Можно еще вот такое посмотреть.
    https://stackoverflow.com/questions/70280531/problems-adding-chapters-ffmpeg
    https://stackoverflow.com/questions/77120045/how-can-i-add-chapters-to-a-mp4-file-using-bash-script-and-ffmpeg

    Всего записей: 11207 | Зарегистр. 05-02-2003 | Отправлено: 22:48 23-03-2025 | Исправлено: V0lt, 22:48 23-03-2025
    Antonij72



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    V0lt
    Круто.
    Только я ни разу не программист уже лет 30 (писал на quick-basic программки и дипломную работу в ВУЗе, и на Паскале некоторое время после ВУЗа - для студентов - на заказ).
     
    Для отдельно особо важного видео я могу добавить главы с помощью MKVToolnix.
     
    Но мне нужна автоматическая команда/скрипт/cmd-файл. Если таковое не существует, то я успокоюсь и обойдусь парой "видео + одноименный текстовый файл"
     
    Команда "yt-dlp.exe --embed-chapters" добавляет chapters (при наличии) в скачиваемый файл в одно мгновение.
     
    Но все мои попытки выяснить, как можно максимально быстро и оптимально осуществить этот процесс оффлайн, заканчивались тем, что меня посылали читать горы документации на английском
     
    Я не понял - решение моей задачи (в виде ком. строки или cmd-файла) отсутствует?
     
    ffmpeg.exe + ffprobe.exe не могут сделать желаемое без "yt-dlp.exe --embed-chapters"?

    ----------
    Я, инвалид 1 группы, ищу работу. Или благотворительную помощь. Спасибо.

    Всего записей: 4025 | Зарегистр. 11-07-2005 | Отправлено: 23:40 23-03-2025 | Исправлено: Antonij72, 23:46 23-03-2025
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131

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


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru