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

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

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

guru431

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


FFmpeg — набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио- и видеозаписи в различных форматах, а также консольная утилита ffmpeg.exe, представляющая из себя универсальный видеоконвертер.

Ссылки на русском:
  • Документация по FFmpeg
  • Статья «19 команд FFmpeg для любых нужд»
     
    Примеры использования:
  • Преобразовать в MKV
  • Захвата с экрана, со звуком
  • Кодирование с помощью технологии Nvidia NVENC
  • Поддержка вывода Юникода в консоль для старых версий FFmpeg
  • Подготовка качественных GIF-файлов из видео при помощи FFmpeg
     
    Поддержка Windows XP. Последний официальный билд под Windows XP от Zeranoe ffmpeg-20150525-git-8ce564e был в мае 2015. Тема (нужен TOR), посвященная сборкам ffmpeg/ffprobe, работающих под Windows XP. Готовые сборки лежат тут, зеркало версии от 2019, 2020, 2021 года, GUI под WinXP (ffqueue, WinFF, Video converter). Static builds by Kyle Schwarz (последний для WinXP ffmpeg-3.0-win32-static.7z).

  • Всего записей: 64 | Зарегистр. 28-02-2007 | Отправлено: 17:23 21-11-2012 | Исправлено: nick7inc, 12:06 23-05-2022
    amtenion

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

    Цитата:
    Если знаете точный алгоритм построения эскиза для видео заложенный в проводник Windows

    Его поможет определить вот это видео, которое можно пересжать/перепаковать в разные форматы, с разным GOP (длина между ключевых I кадров).
     

    Цитата:
    Не меняя видеопоток - нельзя

    Если это первый кадр, то можно вставить фрагмент с обложкой в начало видео с теми же параметрами, не пережимая все остальное (не забыв про сдвиг звука на ~40 мс). Да и в середину теоретически можно вставить, но тут уже придется пересжать один GOP (обычно не более 10 секунд), т.к. вряд ли угодишь на их границу.
    В XP использовался первый кадр, что было не очень практично, т.к. там обычно чернота.

    Всего записей: 171 | Зарегистр. 09-04-2022 | Отправлено: 19:55 19-05-2022 | Исправлено: amtenion, 19:58 19-05-2022
    los

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

    Цитата:
    Единственный недостаток - это то, что размер видеофайла увеличивается на размер обложки.

    так бывает не всегда, зависит от присутствия свободного места в *.mp4 и его размера.

    Всего записей: 5929 | Зарегистр. 08-09-2001 | Отправлено: 22:43 19-05-2022
    notinthewoods

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

    Цитата:
    ffmpeg -i in.mp4 -i cover.png -map 0 -map 1 -c copy -c:v:1 png -disposition:v:1 attached_pic out.mp4

    ffmpeg жалуется на то, что -c copy нельзя совмещать с любым другим заданием -c

    Цитата:
    Multiple -c, -codec, -acodec, -vcodec, -scodec or -dcodec options specified for stream 2, only the last option '-c:v:1 png' will be used.

    Правильнее будет так:

    Цитата:
    ffmpeg -i in.mp4 -i cover.png -map 0 -map 1 -c:v:0 copy -c:a copy -c:v:1 png -disposition:v:1 attached_pic out.mp4

    Это подтверждает и  
    Stream mapping:
      Stream #0:0 -> #0:0 (copy)
      Stream #0:1 -> #0:1 (copy)
      Stream #1:0 -> #0:2 (png (native) -> png (native))

    Всего записей: 199 | Зарегистр. 31-01-2015 | Отправлено: 02:34 20-05-2022
    Barral



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt, исчерпывающе, спасибо! Остановлюсь на варианте с обложкой.
     
     
    Добавлено:
    amtenion
    los
    notinthewoods
    Спасибо, приму к сведению и буду пробовать.

    Всего записей: 6101 | Зарегистр. 24-12-2002 | Отправлено: 04:40 20-05-2022
    nick7inc



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Думаю, надо в шапку добавить следующее.
     
    Видео захват с экрана - часть 2. Захват окна программы со звуком.  
    Хочу записать прохождение игры DukeNukem 3D в оконном режиме со звуком.  
     
    Проблема №1. У меня системный блок с Win7x64 подключен к ТВ через HDMI. Команда
    Код:
    @ffmpeg -list_devices true -f dshow -i dummy
    на выходе выдаёт мне: "фиг вам" (ни одного аудио устройства не найдено), т.к. по-видимому HDMI  не считается источником аудио для записи. Решение. Теперь FFMPEG начал показывать аудио устройство с обрезанным названием "CABLE Output (VB-Audio Virtual ".
     
    Команды для FFMPEG:
    Код:
    ffmpeg -f gdigrab -framerate 15 -i desktop -f dshow -i audio="CABLE Output (VB-Audio Virtual " -qp 0 -preset ultrafast -c:v libx264 -acodec ac3 -ab 224k -ac 2 out_v.mkv

    или, если хотите только окно какого-то приложения грабить (в моём случае это программа eduke32.exe с заголовком):
    Код:
    ffmpeg -f gdigrab -framerate 15 -i title="Duke Nukem 3D: Atomic Edition - EDuke32" -f dshow -i audio="CABLE Output (VB-Audio Virtual " -qp 0 -preset ultrafast -c:v libx264 -acodec ac3 -ab 224 -ac 2 out_v.mkv

    Обратите внимание, в параметре audio перед закрывающей кавычкой стоит пробел, это не ошибка, так надо.
     
    P.S. Долго мучился с командами, всё какие-то ошибки про неверный кодек сыпались. Оказалось, что порядок параметров имеет значение: всё, что касается кодирования (кодеки, их параметры) должны быть в конце ("-qp 0" и далее, после последнего "-i" с его параметром), а всё, что касается входных данных - в начале.

    ----------
    Джин, не лезь в бутылку.

    Всего записей: 1137 | Зарегистр. 04-05-2007 | Отправлено: 21:22 22-05-2022 | Исправлено: nick7inc, 12:22 23-05-2022
    amtenion

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

    Цитата:
    Оказалось, что порядок параметров имеет значение: всё, что касается кодирования (кодеки, их параметры) должны быть в конце (-qp 0 и далее), а всё, что касается входных данных - в начале

    Точнее, разделителем является последний -i (указание входного файла).
    То, что ПЕРЕД -i указывает как декодировать источник.
     

    Цитата:
    -acodec ac3_fixed -ab 128k

    Слишком малый битрейт для ac3. Желательно не меньше 224k. И _fixed лучше убрать. Если это для скорости, то обычный ac3 кодирует так же быстро. Но в fixed может быть клиппинг.
     

    Цитата:
    По-идее нужен специальный компонент - стереомикшер, который MS удалили из стандартных устройств начиная с Win Vista

    Канал мониторинга получается, What U Hear. В XP он есть и даже в линуксе. Не знал, что в новых версиях MS от него избавилась.

    Всего записей: 171 | Зарегистр. 09-04-2022 | Отправлено: 02:25 23-05-2022 | Исправлено: amtenion, 02:26 23-05-2022
    Gideon Vi

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

    Цитата:
    Хочу записать прохождение игры

    так, на всякий случай. OBS Studio
    так же, что у amd, что у nvidia свой средства записи в наличии

    Всего записей: 7655 | Зарегистр. 02-02-2004 | Отправлено: 03:37 23-05-2022 | Исправлено: Gideon Vi, 03:38 23-05-2022
    nick7inc



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

    Цитата:
    Слишком малый битрейт для ac3. Желательно не меньше 224k. И _fixed лучше убрать. Если это для скорости, то обычный ac3 кодирует так же быстро. Но в fixed может быть клиппинг.

    Спасибо, поправил. fixed поставил, поскольку в ac3 не хотел кодировать, кодирование шло в  vorbis (часть параметров командной строки игнорировалась ввиду неправильного расположения, писал выше), вот и экспериментировал.
     
     
    Добавлено:
    Gideon Vi
    Ставить  лишний софт не хотелось, про возможности драйверов - спасибо, запомню.

    ----------
    Джин, не лезь в бутылку.

    Всего записей: 1137 | Зарегистр. 04-05-2007 | Отправлено: 11:59 23-05-2022
    LZAA

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
       Скачиваем поток:
     
        ffmpeg -i URL (Manifest mpd) -c copy video.mp4
     
       В случае динамического playlist 'ffmpeg' постоянно обращается по адресу с интервалом 1-1,5 сек. Такой вопрос: есть ли возможность каким-нибудь аргументом задать произвольный интервал?

    Всего записей: 1835 | Зарегистр. 09-01-2010 | Отправлено: 00:07 29-05-2022
    bbcby

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый день. Такой вопрос.
    Нужен на выходе файл .264, 25fps, Progressive и совместимый с форматом Blu-ray.
    Существует ли в FFMPEG аналог флага fake-interlaced, который есть в x264.exe?

    Всего записей: 585 | Зарегистр. 11-06-2003 | Отправлено: 14:39 02-06-2022 | Исправлено: bbcby, 00:43 03-06-2022
    Ethereal999



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ, не подскажете, можно ли в сабже экспортнуть фреймы (скриншоты) из видео со временем (позицией) в имени файла? И попутно задать интервал (или на крайняк количество скриншотов), через которые делать скрины, например, через каждые 10 секунд. Чтобы было что-то вроде: video_0-00-00-000.jpg, video_0-00-10-000.jpg. Выдернуть скрины это, насколько я смог понять, не очень сложная задача, а вот с именованием по описанной выше маске я разобраться не смог.

    Всего записей: 657 | Зарегистр. 25-12-2002 | Отправлено: 23:04 05-06-2022
    artenax

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

    Цитата:
    Существует ли в FFMPEG аналог флага fake-interlaced, который есть в x264.exe?

    Опции кодировщика можно передавать из командной строки, например:

    Код:
    -x264-params fake-interlaced=1

    или так:

    Код:
    -x264opts fake-interlaced

    Разделяются они двоеточием, например:

    Код:
    -x264opts colormatrix=bt709:colorprim=bt709:transfer=bt709:fullrange=off:force-cfr:fake-interlaced

    Всего записей: 95 | Зарегистр. 11-06-2022 | Отправлено: 08:56 12-06-2022 | Исправлено: artenax, 08:59 12-06-2022
    bbcby

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    artenax
    Спасибо, в обычном режиме, через CPU, все работает. Но вот через h264_nvenc не получается.
    Программа авторинга Blu-ray не принимает. Выдает:

    Код:
    FrameRateCode is not supported in the BD standard

    Писал так:

    Код:
    -c:v h264_nvenc -x264-params fake-interlaced=1

    Всего записей: 585 | Зарегистр. 11-06-2003 | Отправлено: 13:58 16-06-2022
    Aleksoid1978



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

    Цитата:
    h264_nvenc -x264-params

    Так и при чем тут h264_nvenc и x264 ?
     
    Есть параметр bluray-compat.

    ----------
    AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /LG 47LM620T /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

    Всего записей: 8615 | Зарегистр. 11-05-2006 | Отправлено: 15:56 16-06-2022 | Исправлено: Aleksoid1978, 15:59 16-06-2022
    bbcby

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Aleksoid1978параметр bluray-compat есть, но надо впихнуть в bluray 25 fps progressive.
    Через libx264 - все нормально, но есть ли такая возможность через h264_nvenc?

    Всего записей: 585 | Зарегистр. 11-06-2003 | Отправлено: 17:33 16-06-2022
    artenax

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ну, можно кодировать в псевдоинтерлейсе в MBAFF. Хотя, это не очень эффективно, в плане качества. Флаг -tff по моему. Это же не мешает европейским издателям выпускать подобное.

    Всего записей: 95 | Зарегистр. 11-06-2022 | Отправлено: 21:10 16-06-2022 | Исправлено: artenax, 21:11 16-06-2022
    UriF

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Скатывал всякие видео с разрешением 720p & 1080p, а теперь хочу получить 480p.  Подставляю scale=858:482, меняю cfr, пробую оба кодека (h264 & h265).  Декодер срабатывает, НО краски несколько более блеклые по сравнение с оригиналом.  Копаюсь на интернете, но не могу найти параметры, которы бы отвечали за сохранение цветовой гаммы при декодинге.  Заметна разница в цветах при проигрывании Daum Pot и VLC.  На других плеерах не проверял.

    Всего записей: 590 | Зарегистр. 14-06-2004 | Отправлено: 09:35 03-07-2022 | Исправлено: UriF, 09:37 03-07-2022
    artenax

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    UriF
    При даунскейле HD>SD надо править колориметрию. ffmpeg этого не делает автоматом.

    Код:
    scale=858:482,colormatrix=bt709:bt601

    И кстати, откуда скатывалось? А то может там PC уровни, это уже другое.

    Всего записей: 95 | Зарегистр. 11-06-2022 | Отправлено: 10:03 03-07-2022
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    UriF
    Эти файлы тоже отображаются по разному?
    _https://workupload.com/file/qXa3aa8hhJj
     
    artenax

    Цитата:
    При даунскейле HD>SD надо править колориметрию. ffmpeg этого не делает автоматом.  

    $ ffmpeg -i in.mp4 -s hd480 -c:v libx264 -crf 23 out.mp4
     
    $ mediainfo in.mp4
    BT.709
     
    $ mediainfo out.mp4
    BT.709

     
    или речь о чем-то другом?

    Всего записей: 5929 | Зарегистр. 08-09-2001 | Отправлено: 10:22 03-07-2022
    Gideon Vi

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

    Цитата:
    или речь о чем-то другом?


    Цитата:
    When should you use Colormatrix? (assuming HD >= 720 vertical lines i.e. 720p/1080i/1080p/etc.) :
    -for downscaling HD to SD resolutions, you should use Colormatrix (from 709 to 601)
    -i.e. to convert 720p HD DVD content to regular DVD content, use the 709 to 601 conversion and then a bilinear resize (preferable for downscaling)
    -for upscaling SD to HD resolutions, you should use Colormatrix (from 601 to 709)
    -i.e. to convert DVD content to 720p HD DVD content, use the 601 to 709 conversion and then the upscaling resizer of your choice
     

    но тема еще глубже, на самом деле )

    Всего записей: 7655 | Зарегистр. 02-02-2004 | Отправлено: 11:43 03-07-2022 | Исправлено: Gideon Vi, 11:52 03-07-2022
    Открыть новую тему     Написать ответ в эту тему

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

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


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru