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

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

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

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

  • Всего записей: 67 | Зарегистр. 28-02-2007 | Отправлено: 17:23 21-11-2012 | Исправлено: V0lt, 06:22 31-10-2025
    vaskamy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Что то я начинаю разочаровываться в ffmpeg - ffmpeg может создавать миниатюры, может встраивать в видео и аудио но не может копировать в файл на выходе если миниатюра уже присутствует заранее в видео или аудио файле - печально.

    Всего записей: 1083 | Зарегистр. 04-03-2017 | Отправлено: 08:51 12-10-2023
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vaskamy, из примера выше:
    mediainfo baz.mp4

    Код:
    Writing application                      : Lavf60.3.100
    Cover                                    : Yes


    Всего записей: 7971 | Зарегистр. 08-09-2001 | Отправлено: 13:23 12-10-2023
    vaskamy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    Ваш пример не рабочий - ffmpeg не может ни копировать ни перемещать обложки - не данных в интернете и нейро-сеть сказала что не может. Я вторые сутки ищу ответ и его нет, все тупо в ступор впадают.
    ffmpeg может только добавлять и извлекать обложки и всё.

    Всего записей: 1083 | Зарегистр. 04-03-2017 | Отправлено: 15:17 12-10-2023 | Исправлено: vaskamy, 15:18 12-10-2023
    bredonosec



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

    Цитата:
    [Parsed_drawtext_4 @ 06065d80] Using "C:/Windows/fonts/mingliu.ttc"
    [AVFilterGraph @ 007cdb00] Too many inputs specified for the "drawtext" filter.
    Error reinitializing filters!
    Failed to inject frame into filter network: Invalid argument
    Error while processing the decoded data for stream #0:0

     
    сам скрипт -  

    Код:
    fmpeg -i input.mp4 -vf "scale=1280:-1,pad=1280:720ow-iw)/2:0,setsar=sar=1/1,setdar=dar=16/9, [in]drawtext=fontfile='c:\Windows\Fonts\arial.ttf': text='текст, первая строка': x=(w-text_w)/2:y=h-th-140: fontsize=35: fontcolor=white: enable='between(t,2,10)', drawtext=fontfile='c:\Windows\Fonts\arial.ttf': text='текст, вторая строка': x=(w-text_w)/2:y=h-th-40: fontsize=35: fontcolor=white: enable='between(t,3,10)' [out]" -c:v libx264 -crf 21 -c:a copy output.mp4  

     
    Вроде как всё по учеьникам со стэковерфлоу, но ругается.
    Как его приручить?

    Всего записей: 16310 | Зарегистр. 13-02-2003 | Отправлено: 16:06 12-10-2023
    neorumtu

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Если кому надо, ffmpeg со встроенным fdkaac можно скачать здесь. Для Windows 7+ и Linux 32/64.

    Всего записей: 884 | Зарегистр. 30-08-2023 | Отправлено: 16:26 12-10-2023
    los

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

    Цитата:
    Ваш пример не рабочий - ffmpeg не может ни копировать ни перемещать обложки - не данных в интернете и нейро-сеть сказала что не может.

    ну если сама "нейро-сеть сказала что не может."
     
    ffmpeg -i foo.mp4 -map 0 -c copy bar.mp4
    mediainfo bar.mp4 | grep Cover
    Cover                                    : Yes


    Всего записей: 7971 | Зарегистр. 08-09-2001 | Отправлено: 16:50 12-10-2023
    vaskamy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Попросил я нейро-сеть что бы она мне модифицировала скрипт для извлечения обложки из видео, он должен присваивать правильное расширение извлечённой картинке в зависимости от того в каком формате она находится в видео, да только не хочет он вобще работать:

    Код:
    @echo off
    CD /D "%~dp1"
    set "ffmpeg=D:\ffmpeg\bin"
    set "path=%path%;%ffmpeg%"
     
    for %%i in (%1) do (
      if "%%~xi"==".jpg" (
        ffmpeg -i %1 -map 0:v -map -0:V -c copy %1.jpg
      ) else if "%%~xi"==".png" (
        ffmpeg -i %1 -map 0:v -map -0:V -c copy %1.png
      ) else (
        echo "Unsupported file format!"
      )
    )
     
    pause

     
    Добавлено:
    los

    Цитата:
    ffmpeg -i foo.mp4 -map 0 -c copy bar.mp4

    Какие то сущьности захватили разум моего железа - я вчера и сегодня выполнял эту команду и обложка не копировалась а удалялась а теперь стала копироваться не знаю в чём причина, кроме как на бесов не на кого подумать.
     
     
    Добавлено:
    Я не шучу про бесов.

    Всего записей: 1083 | Зарегистр. 04-03-2017 | Отправлено: 16:56 12-10-2023
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vaskamy, для батников есть отдельная тема и там скорее всего помогут быстрее. Из того что на виду: вам нужно с помощью ffmpeg/ffprobe или другой удобной вам программой определить в каком формате хранится обложка в файле - png, jpeg и т.п. и только после этого ее извлекать.  

    Всего записей: 7971 | Зарегистр. 08-09-2001 | Отправлено: 20:37 12-10-2023
    FiLinX



    Запрет на пост
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vaskamy
    Цитата:
    должен добавлять русскую звуковую дорожку ставить её на первое место

    а я вот для VOT что-то наподобие хочу..
    там можно получить (урл) файл аудио дороги перевода от яндекса
    ну и вот хоться батник (yt-dlp_ffmpeg) чтоб качался ролик в 22 формате например, и производился микс аудиодорог накладыванием, но только чтоб уровень громкости оригинальной дорожки понижался на 90%  -  такое реально?
    (про VOT-CLI знаю, но это геморрой и непонимаю будет ли накладыванием с пониженной громкостью оригинала)

    Всего записей: 3255 | Зарегистр. 05-05-2010 | Отправлено: 21:28 12-10-2023 | Исправлено: FiLinX, 21:32 12-10-2023
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt, перегнал в mka/m4a. На выходе та же петрушка и некорректно воспроизводящийся по второй дороге файл.
     

    Код:
    [matroska @ 00000000004ea400] Starting new cluster due to timestamp=1890.7kbits/s speed= 233x
        Last message repeated 9 times  284928kB time=00:20:46.20 bitrate=1873.0kbits/s speed= 249x
    frame=31158 fps=5910 q=-1.0 Lsize=  299412kB time=00:21:39.66 bitrate=1887.2kbits/s speed= 247x
     

     
    Пересобранный через mkvmerge отличается от fgmpeg'овского тем, что в mediainfo для видео "Nominal bitrate" изменился на "Bitrate", у аудио появился "Stream size", а у субтитров нарисовалось аж пачка параметров: Duration, Bit rate, Frame rate, Count of elements, Stream size

    Всего записей: 2562 | Зарегистр. 19-09-2011 | Отправлено: 21:41 12-10-2023
    V0lt



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

    Цитата:
    перегнал в mka/m4a. На выходе та же петрушка и некорректно воспроизводящийся по второй дороге файл.

    Возможно баг в FFmpeg. Предложу вам написать баг-репорт с подробностями и сэмплами.
     

    Цитата:
    Пересобранный через mkvmerge отличается от fgmpeg'овского тем, ...

    MKVToolNix заточен на то, чтобы собирать MKV-шки, и делает это уже 20 лет. Пользуйтесь чаще.

    Всего записей: 11271 | Зарегистр. 05-02-2003 | Отправлено: 22:01 12-10-2023
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt, вот сэмплы, думаю вам виднее будет что в багрепорте написать. Я не особо плотно общаюсь с ffmpeg.
     
    з.ы. Я в курсе, что метаданные языка в файле заданы некорректно, но мне так проще в vlc с файлами на момент той сборки работать.

    Всего записей: 2562 | Зарегистр. 19-09-2011 | Отправлено: 23:59 12-10-2023 | Исправлено: Baltazar500, 00:00 13-10-2023
    V0lt



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

    Цитата:
    вот сэмплы, думаю вам виднее будет что в багрепорте написать.

    Мне не интересно писать баг-репорты за вас.
     
    Хотя есть похожий баг-репорт #6037.
    Временное решение - использовать "-max_interleave_delta 0".

    Всего записей: 11271 | Зарегистр. 05-02-2003 | Отправлено: 19:24 13-10-2023
    Baltazar500



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

    Цитата:
    Хотя есть похожий баг-репорт #6037.
    Временное решение - использовать "-max_interleave_delta 0".
    Судя по тому, что после добавления данного костыля ключа в консоли пропали строки "Starting new cluster due to timestamp бла-бла-бла" и при воспроизведении файл корректно игрался что с одной, что с другой дорожкой не смотря на наличие субтитров в составе контейнера - это та же самая проблема.
     
    В любом случае - спасибо за то, что поразбирали вопрос. В итоге таки это баг, а не у меня лыжи не едут руки кривые.

    Всего записей: 2562 | Зарегистр. 19-09-2011 | Отправлено: 21:10 13-10-2023 | Исправлено: Baltazar500, 21:11 13-10-2023
    Ilya_SpongeBob

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как добавить картинку в видео? Напр. скачиваю 720p 10downloader.com/download?v=youtube.com%2Fembed%2FB75qZ9ssiN4 . Далее создаю рисунок image.PNG 1280x720.

    Код:
     
     ffmpeg -loop 1 -t 4 -i image.PNG image.mp4


    Код:
     
    ffmpeg -f concat -safe 0 -i bat.txt -c copy output.mp4

     
    bat.txt :
    file Activatethedroids.mp4
    file image.mp4
     
    В конце output.mp4 вроде появляется рисунок , но не 4 сек, а 0,5 сек.
     
    Еще так пробовалось, но тоже нифига не работает:

    Код:
    ffmpeg -framerate 1/4 -i image.PNG image.mp4

     
    В интернете предлагают еще 100 комбинаций , но те вообще  выдают ошибку .

    Всего записей: 483 | Зарегистр. 16-02-2011 | Отправлено: 03:58 14-10-2023
    notinthewoods



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ilya_SpongeBob
    У меня получилось так:
    yt-dlp -f 136+140 B75qZ9ssiN4 -o Activate_the_droids.mp4

    Код:
    ffmpeg -loop 1 -i image.png -t 4 -pix_fmt yuv420p -r 30000/1001 image.mp4

    list.txt ->
    file 'Activate_the_droids.mp4'
    file 'image.mp4'

    Код:
    ffmpeg -f concat -safe 0 -i list.txt -c copy Summa.mp4

    Activate_the_droids.mp4 - 00:01:11
    image.mp4 - 00:00:04
    Summa.mp4 - 00:01:15
     
    Частоту кадров (30000/1001) в image.mp4 выставил такую же, что и в Activate_the_droids.mp4

    Всего записей: 514 | Зарегистр. 31-01-2015 | Отправлено: 06:56 14-10-2023
    Ilya_SpongeBob

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    notinthewoods
    А что делать, если Frame rate mode  = Variable?
    Др. видео-файл:
    Frame rate mode                : Variable
    Frame rate                     : 30.000 fps
    Minimum frame rate             : 29.900 fps
    Maximum frame rate             : 30.020 fps
     
    По аналогии сделано (-r 30) -- картинка не добавилась

    Всего записей: 483 | Зарегистр. 16-02-2011 | Отправлено: 11:44 14-10-2023 | Исправлено: Ilya_SpongeBob, 12:53 14-10-2023
    notinthewoods



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ilya_SpongeBob
    Да, с переменным fps у меня тоже получился облом(
    Выход пока тривиальный:

    Код:
    ffmpeg -i video_var_fps.mp4 -c:v libx264 -crf 21 -preset faster -c:a copy video_const_fps.mp4

    Соответственно, для image.mp4 аналогичное значение параметра -r (напр. -r 30)
    Может, более продвинутые юзеры подскажут решение порациональнее.

    Всего записей: 514 | Зарегистр. 31-01-2015 | Отправлено: 23:55 14-10-2023
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    notinthewoods
    Выложите архив с исходными файлами и батником, который правильно бы отработал для постоянной частоты, но не работает с VFR.

    Всего записей: 11271 | Зарегистр. 05-02-2003 | Отправлено: 08:30 15-10-2023 | Исправлено: V0lt, 09:31 15-10-2023
    vaskamy



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

    Код:
    "%FFMPEGPATH%" ^
    -i "%%i" ^
    -filter_complex "amovie=%%a:loop=0,asetpts=N/SR/TB[over]; [0][over]amix=duration=shortest" ^
    -c:v copy ^
    "%%~ni_replaced.mp4"
     
    добавить возможность регулирования в встроенном и в накладываемом аудио по отдельности громкость в децибелах.
    У меня не получается добавить.

    Всего записей: 1083 | Зарегистр. 04-03-2017 | Отправлено: 11:08 15-10-2023
    Открыть новую тему     Написать ответ в эту тему

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

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