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

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



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

    Цитата:
    -hwaccel cuda наоборот медленнее работает.

    Не должно быть.
    В моей связке все работает в GPU, никаких копирований данных туда-обратно.
     
    Добавлено:
    Dimitr1s
    format=yuv420p
    Зачем - там аппаратный NV12, нет никакого смыла перегонять в yuv420p.

    ----------
    AMD Ryzen 7 7700 /ASRock B650M Pro RS /G.Skill RIPJAWS 32 ГБ /Kingston 1Tb M.2 /RTX 4060 /Samsung U28R550UQI /OLED Philips 55OLED707 /Denon AVR-X2800H+NS-555+NS-C444+NS-333+YST-SW215+Klipsch R-40SA

    Всего записей: 9654 | Зарегистр. 11-05-2006 | Отправлено: 13:00 24-04-2025
    Dimitr1s



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

    Цитата:
    Зачем - там аппаратный NV12, нет никакого смыла перегонять в yuv420p.

    Да я привык с gdigrab добавлять всегда. Разница.
    Так то, в этом примере, поток бит-в бит, будет. Что с, что без. Ты прав.

    Всего записей: 2300 | Зарегистр. 02-07-2006 | Отправлено: 13:25 24-04-2025
    Cliffe

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Раз задал вопрос, то нужно ответить, как что получилось в итоге.
     
    greeple, спасибо за ссылку. Почитал её внимательно.
     
    Как выяснилось из этой ссылки, я забыл написать главную вещь.
    У меня win7 (x64) и это огромная проблема.
     
    По ссылке понял, что нужен:
    а) NVIDIA Direct3D SDK, текущий 13-й и 570 драйвер для видеокарты. Разумеется, всё это только от win10 и выше.
    Кое-как в сети нашёл 11.0.328.2105 (это судя по всему это версия 11.1). Поставил. Драйвер у меня один из последних под win7 - 475-й.
    б) Также нужен NVIDIA CUDA Toolkit (так указано в подготовительном описании по ссылке) - последняя 12-я также не дружит с моей системой.
    С трудом нашёл и установил 10.2, последнюю для 7ки.
     
    ED_Sln
    Aleksoid1978
    Dimitr1s
    , спасибо вам за варианты.
    Не думал, что так активно будут предлагать мне помощь. Приятно.
     
    Как и ожидалось, НИ-ЧЕ-ГО, при любых вариантах (и своих, и ваших).
    На главная, первоначальная проблема, нужен 13-й SDK и свежий драйвер. Возможно это ещё из-за того, что ffmpeg у меня самый последний на сей день.
    Вот лог КС, если кому интересно. Вроде как (при беглом взгляде), во всех ваших вариантах этот перечень, отличаются только коды ошибок (где нули).
     

    Цитата:
     
    [hevc_nvenc @ 000000000053de00] Driver does not support the required nvenc API version. Required: 13.0 Found: 11.1
    [hevc_nvenc @ 000000000053de00] The minimum required Nvidia driver for nvenc is 570.0 or newer
    [vost#0:0/hevc_nvenc @ 00000000004e43c0] [enc:hevc_nvenc @ 00000000004e0180] Error while opening encoder - maybe incorrect parameters such as bit_rate, rate, width or height.
    [vf#0:0 @ 00000000004e4d40] Error sending frames to consumers: Function not implemented
    [vf#0:0 @ 00000000004e4d40] Task finished with error code: -40 (Function not implemented)
    [vf#0:0 @ 00000000004e4d40] Terminating thread with return code -40 (Function not implemented)
    [vost#0:0/hevc_nvenc @ 00000000004e43c0] [enc:hevc_nvenc @ 00000000004e0180] Could not open encoder before EOF
    [vost#0:0/hevc_nvenc @ 00000000004e43c0] Task finished with error code: -22 (Invalid argument)
    [vost#0:0/hevc_nvenc @ 00000000004e43c0] Terminating thread with return code -22 (Invalid argument)
    [out#0/mp4 @ 0000000002ad9780] Nothing was written into output file, because at least one of its streams received no packets.
     
    frame=0 fps=0.0 q=0.0  Lsize=0KiB time=N/A bitrate=N/A speed=N/A
    Conversion failed!
     

     
    В общем, такая вот задница.  
     
    Самая забавное, что в 2016-м купить то я купил эту видеокарту за ~50тыс. руб, а по сути ею практически не пользовался. Крайне мало играл, и года так до 2018-го, а после просто стоит без дела.
    Вот подумал, хоть здесь поэксплуатирую её. Ан-нет.. НЕ СУЖДЕНО.

    Всего записей: 38 | Зарегистр. 11-09-2010 | Отправлено: 18:21 24-04-2025
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Cliffe
    а в чём проблема установить win10? я вот сколько не искал причин использовать 7ку, не одной не нашёл

    Всего записей: 7383 | Зарегистр. 11-02-2020 | Отправлено: 18:33 24-04-2025
    ED_Sln



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

    Всего записей: 1566 | Зарегистр. 05-11-2009 | Отправлено: 18:56 24-04-2025
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Cliffe
    Ставьте либо последнюю Windows 10 22H2 или Windows 10 LTSC 2021. Да, после стольких лет на Windows 7, будет больно, но когда привыкните, то получите гораздо больше возможностей. Сможете использовать последние официальные сборки FFmpeg и кучу других прог.

    Всего записей: 11207 | Зарегистр. 05-02-2003 | Отправлено: 20:15 24-04-2025
    Dimitr1s



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

    Цитата:
    Вот подумал, хоть здесь поэксплуатирую её. Ан-нет.. НЕ СУЖДЕНО.

    Прежде чем переживать за аппаратный кодер, посмотрите сначала, что в основном кодировать хотели.
    Дело в том, что качество на одном пресете или битрейте - будет отличаться в худшую сторону от кодера на процике.
    За битрейтом всё время следить надо, прибавлять с избытком, пресеты лучше выбирать самые высокие, типа "p7". Даже при достаточном, казалось бы, битрейте может заартефачить.
    Самое оно для одноразовых просмотров, уроков там всяких, сериалов на один раз и т.п. Да очень быстро выходит.
    А что-то, где хочется качества - лучше на процессоре делать.

    Всего записей: 2300 | Зарегистр. 02-07-2006 | Отправлено: 20:56 24-04-2025
    Cliffe

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ED_Sln, лучики добра! Спасибо, спасибо, спасибо!
    Всё заработало как и хотел изначально.
     
    Проверил разные варианты, выложил данные в сводной таблице и сделал на неё скриншот (так как здесь не могу дать текст, установлен лимит символов в сообщении):
    Убрал некоторые данные, которые везде одинаковы и не особо интересны по нашей теме разговора.
    Прямая ссылка: https://i.postimg.cc/2yqs8sWR/image.png
    Предпросмотр (если здесь он возможен):  

     

    Цитата:
    Исходный файл в 4К.
     
    Вариант 0, через процессор:  
    ffmpeg.exe -i z:\1.mp4 -vf "scale=1280:720" -c:a copy -b:v 2200k z:\output0.mp4
    1,22 скорость
    100% процессор, 0% видеокарта
     
    Вариант 1, ED_Sln
    ffmpeg.exe -i z:\1.mp4 -c:v h264_nvenc -b:v 2200k -s 1280x720 -c:a copy z:\output1.mp4
    2,88 скорость
    85-90% процессор, 100% видеокарта
     
    Вариант 2, ED_Sln
    ffmpeg.exe -i z:\1.mp4 -c:v h264_nvenc -profile:v high -level 4.0 -b:v 2200k -c:a copy -s 1280x720 z:\output1.mp4
    2,88 скорость
    80-85% процессор, 100% видеокарта
     
    Вариант 3, Aleksoid1978
    ffmpeg.exe -y -hide_banner -hwaccel cuda -hwaccel_output_format cuda -i z:\1.mp4 -vf scale_cuda=1280:-1 -c:a copy -c:v h264_nvenc -b:v 2200k z:\output1.mp4
    3,77 скорость
    5-10% процессор, 100% видеокарта
     
    Вариант 4 HEVC, Dimitr1s
    ffmpeg.exe -hwaccel cuda -hwaccel_output_format cuda -i z:\1.mp4 -vf "scale_cuda=-2:720:format=yuv420p:interp_algo=lanczos" -vcodec hevc_nvenc -preset p7 -b:v 2200K -c:a copy z:\output1.mp4
    3,85 скорость
    5-10% процессор, 100% видеокарта
     
    Вариант 5, Aleksoid1978 (без yuv, итог аналогичен варианту Dimitr1s, в таблицу не занёс)
    ffmpeg.exe -hwaccel cuda -hwaccel_output_format cuda -i z:\1.mp4 -vf "scale_cuda=-2:720" -vcodec hevc_nvenc -preset p7 -b:v 2200K -c:a copy z:\output1.mp4
    3,85 скорость
    5-10% процессор, 100% видеокарта

     
    Можете заметить (из таблицы), что через процессор практически копия оригинала по настройкам, разница минимальна, выделил красным шрифтом.
    Во всех остальных вариантах через видеокарту, настройки вообще не показаны (в MediInfo).
     
    Не по теме
     
    p.s. Во всех этих делах далеко не спец, поэтому не судите строго. Я ко всем отношусь доброжелательно.
    Спасибо вам за ваши отклики!  

    Всего записей: 38 | Зарегистр. 11-09-2010 | Отправлено: 23:57 24-04-2025 | Исправлено: Cliffe, 19:08 25-04-2025
    Aleksoid1978



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

    Цитата:
    ни один из вариантов не копирует настройки

    Так нельзя при перекодировании.

    ----------
    AMD Ryzen 7 7700 /ASRock B650M Pro RS /G.Skill RIPJAWS 32 ГБ /Kingston 1Tb M.2 /RTX 4060 /Samsung U28R550UQI /OLED Philips 55OLED707 /Denon AVR-X2800H+NS-555+NS-C444+NS-333+YST-SW215+Klipsch R-40SA

    Всего записей: 9654 | Зарегистр. 11-05-2006 | Отправлено: 06:36 25-04-2025
    Cliffe

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Aleksoid1978, а в варианте с процессором не происходит перекодировка?

    Всего записей: 38 | Зарегистр. 11-09-2010 | Отправлено: 07:17 25-04-2025
    ED_Sln



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

    Цитата:
    а в варианте с процессором не происходит перекодировка?

    Перекодирование происходит в любом случае, кроме -c:v copy, а при такой большой разнице видео, из 4k в 720 исходные настройки кодирования совершенно не годятся.
    Оффтоп

    Всего записей: 1566 | Зарегистр. 05-11-2009 | Отправлено: 08:05 25-04-2025
    V0lt



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

    Cliffe

    Цитата:
    Вот есть видео в 4K (х264)
    ...
    nvidia GTX1080.
    ...
    Ах да, почему я вообще этим занялся (переводом из 4К в 720р).
    Пользуюсь Media Player Classic + очень старый рендер вывода Haali (сейчас скачивается с отдельного сайта). Он по качеству картинки плохой, но САМЫЙ шустрый среди всех альтернативных в плеере.

    Ну не надо так жирно троллить.
    Haali конечно хорош для Windows XP, когда у вас убогая видеокарта. Но с вашей задачей 4K H.264 (где вы такое вообще берете?) справится даже встройка Intel HD 4000.
     
    Надо только взять любой современный 64-битный плеер (MPC-BE, MPC-HC, PotPlayer). Выбрать в нем декодер DXVA2 (потому что Windows 7). MPC-BE вообще настраивать не надо. Если надо снизить нагрузку (для GTX 1080 это вообще не нагрузка), то выберите видеорендерер EVR без приписок. И все будет летать. Если конечно у вас не целерон какой-нибудь с одноканальной памятью.

    Всего записей: 11207 | Зарегистр. 05-02-2003 | Отправлено: 09:00 25-04-2025
    ED_Sln



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

    Цитата:
    Не должно быть.
    В моей связке все работает в GPU, никаких копирований данных туда-обратно.

    Потестировал не много. Все таки зависит от связки ГП - ЦП. Процессор у меня Ryzen 5950X, так что запаса мощности много, прогнал бенчмарк в ffmpeg:
    Код:
    ffmpeg -i "4K video.mkv" -f null - -benchmark
    Видео 4k h264, скорость декодирования процессором получилась 295-305 fps, что быстрее, чем может кодировать RTX 3050 (а значит и вся линейка RTX 3000, nvenc у всех одинаковый, сравнивал с 3080Ti). Загрузка процессора при этом 40-45%.  
    Скорость кодирования без -hwaccel cuda при кодировании в 720p - 250 fps.
    А вот при "-hwaccel cuda -hwaccel_output_format cuda" уже всего 160 fps, вот здесь уже узким местом становится слабая 3050, с малым количеством cuda-ядер. Бенчмарк
    Код:
    ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i "4K Video.mkv" -f null - -benchmark
    это подтверждает, скорость декодирования всего 180 fps. Так что бывают случаи, когда без аппаратного декодирования может быть быстрее. Но при полностью аппаратной обработке есть плюс, получается более энергоэффективно, видеокарта потребляет всего 15 Ватт.

    Всего записей: 1566 | Зарегистр. 05-11-2009 | Отправлено: 09:02 25-04-2025
    Aleksoid1978



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ED_Sln
    Ну понятно что хороший CPU может много выдать - но при этом он будет нагружен 100%. Смысл GPU в чем - снять нагрузку с CPU.

    ----------
    AMD Ryzen 7 7700 /ASRock B650M Pro RS /G.Skill RIPJAWS 32 ГБ /Kingston 1Tb M.2 /RTX 4060 /Samsung U28R550UQI /OLED Philips 55OLED707 /Denon AVR-X2800H+NS-555+NS-C444+NS-333+YST-SW215+Klipsch R-40SA

    Всего записей: 9654 | Зарегистр. 11-05-2006 | Отправлено: 09:09 25-04-2025
    Cliffe

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ED_Sln, как-то же ведь при использовании процессора настройки сохранились (всего 5 изменились, а около 40 остались такими же), хотя там copy не было..
    По предоставленным данным из таблицы видно, что так и есть.
    Но вот при использовании видеокарты подобного нет.
    Значит придется обрезать всегда через процессор..
     
    По поводу проигрывателя.
     
     
     

    Всего записей: 38 | Зарегистр. 11-09-2010 | Отправлено: 19:07 25-04-2025 | Исправлено: Cliffe, 19:13 25-04-2025
    lvqcl

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

    Цитата:
    как-то же ведь при использовании процессора настройки сохранились (5 изменились, около 40 остались такими же)

     
    Это параметры для кодировщика x264. (формат видео называется "H.264", а "x264" - имя одной из программ кодирования в формат h.264)
     
    Неудивительно, что при использовании совершенно другого кодировщика они не нужны и их нет.

    Всего записей: 1299 | Зарегистр. 03-02-2007 | Отправлено: 19:21 25-04-2025
    V0lt



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

    Всего записей: 11207 | Зарегистр. 05-02-2003 | Отправлено: 19:34 25-04-2025
    ED_Sln



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Cliffe
    Просто кодировщик h264_nvenc не пишет эту информацию в файл, многие кодировщики так делают. Но это не значит, что их нет. И то что они одинаковые на процессоре мало чего значит, для разных разрешений нужно подкручивать настройки, а если использовать например -tune film то там может измениться большая их часть.

    Всего записей: 1566 | Зарегистр. 05-11-2009 | Отправлено: 20:25 25-04-2025
    Dimitr1s



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Cliffe
    Зачем вам такие же настройки?
    Видеоряд при перекодировке, даже если вы выставите в таком же кодере те же настройки, ухудшится по сравнению с оригиналом и никогда не будет таким же. Хоть на проце, хоть на карте.
    А при ресайзе ещё хуже.
     

    Цитата:
    Поэтому я и поинтересовался, может быть есть ещё более шустрая альтернатива Haali, но дружащая с высоким битрейтом?

    Там уже некоторые альтернативы в мир иной успели уйти, после Haali. MPC Video Renderer - шустрее некуда.
    Берёте или MPC-HC (уже в комплекте, нужно выбрать) или MPC-BE (в составе инсталлятора есть).
    На семёрке все должно работать.
     
    Плееры портативные, при сохранении в .INI, ничего не испортите, всегда обратно вернётесь если не зайдёт.

    Всего записей: 2300 | Зарегистр. 02-07-2006 | Отправлено: 21:26 25-04-2025 | Исправлено: Dimitr1s, 21:28 25-04-2025
    terenty79

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

    Цитата:
    Haali  

    отличнейший рендер, жалко что не обновляется.

    Всего записей: 1913 | Зарегистр. 26-02-2006 | Отправлено: 22:02 25-04-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