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

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

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

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
     
    По общим вопросам написания командных файлов есть отдельная тема "Командная строка, батники, сценарии - bat, cmd [?]".

  • Всего записей: 67 | Зарегистр. 28-02-2007 | Отправлено: 17:23 21-11-2012 | Исправлено: tmrx, 09:08 02-04-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' в это время эту 'черноту' записывает как положено. Эта проблема 'железная' или 'программная'? Создаётся впечатление, что систему что-то 'тормозит'. Но только в записываемой области экрана.

    Всего записей: 2484 | Зарегистр. 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
     

    Всего записей: 7223 | Зарегистр. 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', то область записи находилась в 'нужном' месте и имела 'нужный' размер.
     
         
         

    Всего записей: 2484 | Зарегистр. 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 возможно (у меня без него нормально вроде, а с ним так же черный после клика в область)

    Всего записей: 6614 | Зарегистр. 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

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

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

    Всего записей: 2484 | Зарегистр. 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

    Всего записей: 6614 | Зарегистр. 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

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

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

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

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

    Всего записей: 2484 | Зарегистр. 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

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



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

    Всего записей: 2165 | Зарегистр. 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.
     

    Всего записей: 2484 | Зарегистр. 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 отсюда.

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

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

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

     

    Всего записей: 2484 | Зарегистр. 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 тоже есть ссылка (но я не пробовал)

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



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

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

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

    Всего записей: 2165 | Зарегистр. 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'. Есть ли какие-то преимущества одного инструмента в сравнении с другим? Или они качественно абсолютно равноценны?
     

    Всего записей: 2484 | Зарегистр. 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 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

    Всего записей: 9550 | Зарегистр. 11-05-2006 | Отправлено: 07:01 12-02-2025
    FiLinX



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

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

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

    Всего записей: 2484 | Зарегистр. 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

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