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

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

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
         
          Про 'захват экрана' (продолжение).
     
           https://trac.ffmpeg.org/wiki/Capture/Desktop
     
          Меня интересует захват части экрана. Перепробовл все варианты.
          'dshow' записывает только с устройств. Но монитора в '-list_devices' нет. Не знаю, как это использовать.
           Из всех вариантов как бы работает
     
            ffmpeg -f gdigrab -framerate 30 -offset_x 10 -offset_y 20 -video_size 640x480 -show_region 1 -i desktop output.mkv
     
             Но при попытке записать область экрана с 'video' через 1-1,5 секунды эта область становится чёрной. То же самое происходит и в том случае, если в записываемой области (даже без 'video') нажать мышью. При этом в этой области возле курсора 'крутятся песочные часы'. 'FFmpeg' в это время эту 'черноту' записывает как положено. Эта проблема 'железная' или 'программная'? Создаётся впечатление, что систему что-то 'тормозит'. Но только в записываемой области экрана.

    Всего записей: 2582 | Зарегистр. 09-01-2010 | Отправлено: 16:28 07-02-2025 | Исправлено: LZAA, 16:59 07-02-2025
    ndch

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    Случается что картинка из DirectX окна не захватывается gdigrab-ом.
     
    Операционка какая? Windows 8+ ?
    " записываемой области (даже без 'video') " - что захватить пытаетесь, часть окна какой программы?
     
    https://ffmpeg.org/ffmpeg-filters.html#ddagrab
    https://trac.ffmpeg.org/wiki/Capture/Desktop
     
    ну например так
    ffmpeg -filter_complex ddagrab=0,hwdownload,format=bgra -c:v libx264 -crf 20 output.mkv
     

    Всего записей: 7489 | Зарегистр. 31-08-2008 | Отправлено: 20:17 07-02-2025 | Исправлено: ndch, 21:11 07-02-2025
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
                        Задержался  ответом. Извините.
     
         1. Windows 10
         2. Я пытаюсь захватить 'video' воспроизводимое в 'media player'.  
             Но, повторюсь, если захватывается просто 'пустая' область 'Рабочего стола', то при нажатии на эту область она становится чёрной, то есть обои не отображаются.  
         3. Я не могу определить это 'DirectX' окно или нет.
         4. Я поначалу на железо 'грешил', но это
     
         
    Цитата:
    ffmpeg -filter_complex ddagrab=0,hwdownload,format=bgra -c:v libx264 -crf 20 output.mkv

     
           работает. Но эта команда записывает весь экран. Меня интересуют именно три условия: задать значение частоты кадров, задать координату точки экрана, задать ширину и высоту записываемой области экрана. Можно ли это сделать с помощью 'ddagrab'?
          Я попробовал сделать:

    Код:
    ffmpeg -filter_complex ddagrab=0,hwdownload,format=bgra -framerate 25 -offset_x 643 -offset_y 442 -video_size 1277x718 -show_region 1 -c:v libx264 -crf 20 output.mp4

     
          Это работает, хотя 'region' ввиде рамки не отображается. Но мне надо ещё с 'шириной' разобраться, потому что экран записывается по всей ширине.
          Когда я использовал такие данные для 'gdigrab', то область записи находилась в 'нужном' месте и имела 'нужный' размер.
     
         
         

    Всего записей: 2582 | Зарегистр. 09-01-2010 | Отправлено: 18:16 11-02-2025 | Исправлено: LZAA, 18:47 11-02-2025
    greeple

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

    Код:
    ffmpeg -f gdigrab -framerate 30 -i desktop -vf "crop=640:480:10:20" output.mkv

    или при gdigrab у тебя всегда черный после клика даже если в полный экран захват?
     
    Добавлено:
    черный экран у тебя из-за -show_region 1 возможно (у меня без него нормально вроде, а с ним так же черный после клика в область)

    Всего записей: 7390 | Зарегистр. 11-02-2020 | Отправлено: 18:46 11-02-2025 | Исправлено: greeple, 18:51 11-02-2025
    Dimitr1s



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

    Цитата:
    ...то при нажатии на эту область она становится чёрной

    Просто интересно, зачем кликать на область, если запись идёт нормально?
     

    Цитата:
    Я пытаюсь захватить 'video' воспроизводимое в 'media player'.

    Это и с gdigrab решается без указание координат. Используйте: title.

    Код:
    ffmpeg -f gdigrab -framerate 30 -i title=название_окна output.mkv

    Всего записей: 2301 | Зарегистр. 02-07-2006 | Отправлено: 18:52 11-02-2025 | Исправлено: Dimitr1s, 18:56 11-02-2025
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
     
                             greeple
     
       На весь экран не пробовал. Но это в данном случае не важно.
        Мне надо записать определённую часть экрана с 'video'. При этом область записи становится чёрной когда в этой области отображается видеоконтент без всякого нажатия на эту область.
     
         PS.
     
         Красиво! Без 'show_region' всё OK. Спасибо за помощь.
         Осталось с системой координат для 'ddagrab' разобраться.

    Всего записей: 2582 | Зарегистр. 09-01-2010 | Отправлено: 18:54 11-02-2025 | Исправлено: LZAA, 19:04 11-02-2025
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    баг давнишний https://ffmpeg.org/pipermail/ffmpeg-user/2023-January/055896.html и тикет есть https://trac.ffmpeg.org/ticket/9413 но походу пока нету ничего такого
    пока не сделали нормальный захват (ну точнее показ области захвата не прикручен к ddagrab), некоторые используют gstreamer и плагин d3d11screencapture

    Всего записей: 7390 | Зарегистр. 11-02-2020 | Отправлено: 19:13 11-02-2025 | Исправлено: greeple, 19:22 11-02-2025
    Dimitr1s



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    greeple
    Можно gdigrab заюзать с -vf crop=, типа:

    Код:
    ffmpeg -f gdigrab -framerate 30 -i desktop -vf "crop=640:480:10:20" output.mkv

    Проверил - работает.

    Всего записей: 2301 | Зарегистр. 02-07-2006 | Отправлено: 19:32 11-02-2025
    LZAA

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

           Оказывается, что не только 'gdigrab' 'не всё может'. Но и 'ddagrab' на две трети 'инвалид'. Настройки 'offset' и 'video_size' с ним не работают: записывает только весь экран. Хорошо то, что хоть 'gdigrab' можно приспособить.

    Всего записей: 2582 | Зарегистр. 09-01-2010 | Отправлено: 19:40 11-02-2025
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    Цитата:
    Настройки 'offset' и 'video_size' с ним не работают: записывает только весь экран.

    они там прописываются через :  

    Код:
    video_size=800x600:offset_x=100:offset_y=100

    если не работает пробуй тогда https://trac.ffmpeg.org/wiki/DirectShow

    Всего записей: 7390 | Зарегистр. 11-02-2020 | Отправлено: 19:51 11-02-2025
    Dimitr1s



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    Я выше привёл рабочее решение с координатами через кроп. Опять не так что-то?

    Всего записей: 2301 | Зарегистр. 02-07-2006 | Отправлено: 20:00 11-02-2025
    LZAA

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

                            greeple
     
    Unrecognized option 'video_size=1280x720:offset_x=640:offset_y=480'.
    Error splitting the argument list: Option not found
     
                           Dimitr1s
     
    Filtergraph 'crop=1280:720:640:440' was specified for a stream fed from a complex filtergraph. Simple and complex filtering cannot be used together for the same stream.
     

    Всего записей: 2582 | Зарегистр. 09-01-2010 | Отправлено: 20:18 11-02-2025
    Dimitr1s



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    Сейчас попробовал с вашими координатами:

    Код:
    ffmpeg -f gdigrab -framerate 30 -i desktop -vf "crop=1280:720:640:440" output.mkv

    Всё работает.
     
    добавил: FFmpeg отсюда.

    Всего записей: 2301 | Зарегистр. 02-07-2006 | Отправлено: 20:25 11-02-2025 | Исправлено: Dimitr1s, 20:29 11-02-2025
    LZAA

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

                              Dimitr1s
         Наверное Вы были невнимательны...
           
    Цитата:
    Но и 'ddagrab' на две трети 'инвалид'. Настройки 'offset' и 'video_size' с ним не работают: записывает только весь экран.  

     

    Всего записей: 2582 | Зарегистр. 09-01-2010 | Отправлено: 22:32 11-02-2025
    greeple

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    Цитата:
    Unrecognized option 'video_size=1280x720:offset_x=640:offset_y=480'.
    Error splitting the argument list: Option not found


    Код:
    ffmpeg -filter_complex "ddagrab=0:framerate=30:draw_mouse=0:video_size=800x600:offset_x=100:offset_y=100,hwdownload,format=bgra" output.mp4

     
    можно и так писать кстати (но это не вариант)

    Код:
    ffmpeg -f lavfi -i ddagrab -c:v libx264 -crf 20 output.mp4

     
    есть ещё такое вот https://github.com/rdp/screen-capture-recorder-to-video-windows-free на это в wiki https://trac.ffmpeg.org/wiki/Capture/Desktop тоже есть ссылка (но я не пробовал)

    Всего записей: 7390 | Зарегистр. 11-02-2020 | Отправлено: 22:37 11-02-2025 | Исправлено: greeple, 22:46 11-02-2025
    Dimitr1s



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

    Цитата:
    Наверное Вы были невнимательны...

    Причём здесь ddagrab, когда я привёл решение для gdigrab?
    Ну да ладно, проехали...

    Всего записей: 2301 | Зарегистр. 02-07-2006 | Отправлено: 23:04 11-02-2025
    LZAA

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

                                           greeple
           
    Цитата:
    ffmpeg -filter_complex "ddagrab=0:framerate=30:draw_mouse=0:video_size=800x600:offset_x=100:offset_y=100,hwdownload,format=bgra" output.mp4

            Так работает. Вопрос: сейчас у нас есть две работающие команды - для 'gdigrab' и для 'ddagrab'. Есть ли какие-то преимущества одного инструмента в сравнении с другим? Или они качественно абсолютно равноценны?
     

    Всего записей: 2582 | Зарегистр. 09-01-2010 | Отправлено: 02:07 12-02-2025
    Aleksoid1978



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

    ----------
    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 | Отправлено: 07:01 12-02-2025
    FiLinX



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    хе.. оказывается здесь и целая темка есть  -  ff_rec - запись экрана FFmpeg под Windows

    Всего записей: 3098 | Зарегистр. 05-05-2010 | Отправлено: 11:22 12-02-2025
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
                                  Aleksoid1978
     
            Понятно - 'DD' быстрее. Это хорошо.
           Но для корректной записи 'video+audio' следует использовать 'GDI'.
           Для общего развития: что ещё кроме экрана можно захватывать с помощью 'GDI'?

    Всего записей: 2582 | Зарегистр. 09-01-2010 | Отправлено: 12:05 12-02-2025 | Исправлено: LZAA, 22:44 12-02-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