Ответы пользователя по тегу Видео
  • Почему видео становится темнее после конвертации в DNxHD (DNxHR)?

    nidalee
    @nidalee
    Color primaries : BT.709
    Transfer characteristics : BT.601
    Matrix coefficients : BT.601
    Вероятно, вам нужно не только выставить in_range, но еще и все характеристики и коэффициенты.
    См.: color_range=, color_space=, color_transfer=, color_primaries=
    Можете почитать, в частности, эту статью, с говорящим названием "Color Hell: Ffmpeg Transcoding and Preserving BT.601"
    Кроме того, у вас 4:2:0 превращаются в 4:2:2 - это тоже не добавляет точности цветам.

    С какой целью конвертируете?
    Ответ написан
    3 комментария
  • FFmpeg - bкак разделить видеофайл на png картинки?

    nidalee
    @nidalee
    Слишком много лишнего указываете. Для ваших целей достаточно
    ffmpeg -i <input> cut_1_images\images%%05d.png
    -f вам не нужен, png - всегда png native.
    -r тоже, потому что ffmpeg сам прекрасно опознает фреймрейт видео.
    Возможно, стоит указать полный путь до папки, с буквы диска. Также хорошо избежать пробелов в этом пути.
    Также не понял, зачем вы опознаете и делаете cd в папку, из который запускаете bat-ник, он и так работает из своей папки, просто не запускайте его от админа, ему это и не нужно.

    Лучше уж тогда сделайте так:
    @echo off
    SETLOCAL
    :hugly
    if "%~1" EQU "" goto mugly
    md images
    ffmpeg -i "%~1" images\images%%05d.png
    shift
    goto hugly
    :mugly
    pause

    Потом просто перетаскиваете на сам bat-ник свой AVI файл, он создаст для кадров папку "images" и в нее их извлечет. Если я нигде в коде не опечатался, конечно. Только не забудьте, что папка всегда одна и та же, переименовывайте ее после извлечения кадров.

    UP: Переписал оба примера под Windows, решением было добавить к % еще один.
    Ответ написан
    4 комментария
  • Можно ли на лету собирать видео из кадров?

    nidalee
    @nidalee
    Для решения такой задачи я использовал бы ramdisk, если объемы памяти позволяют.
    Или вам нужно с одной машины на другую?
    Ответ написан
    Комментировать
  • Программа-детектор "оквадраченных" кадров в видео?

    nidalee
    @nidalee
    В H.264 и H.265 есть фильтр деблокинга, он ловит и пытается исправить именно эти артефакты. Нужно потрошить спецификации и исходники энкодера на предмет того, как эти кадры находит он.
    Работать нужно именно с видео, поскольку специальный софт может точно находить размеры и позиции макроблоков, пережатие\потеря которых и дают эти артефакты. Таким образом, переведя p- и b- фреймы в картинки (фактически, набор i-фреймов) вы только усложните себе задачу.
    Я бы копал сюда, сюда и далее.

    P.S.: Да, кстати, StreamEye из ссылки выше такое скорее всего умеет. Но он, ЕМНИП, совсем платный. Были и бесплатные аналоги.
    Ответ написан
    Комментировать
  • Как исправить ошибку ffmpeg Permission denied?

    nidalee
    @nidalee
    Ввожу команду

    D:\Program Files\FFmpeg\bin\ffmpeg -i Output video.avi

    Ну тут все просто: вы не разобрались с синтаксисом.
    После -i должен быть указан источник, то есть изображения, в вашем случае указан некий "output" и программа ищет его, файл "output" без расширения, которого в папке нет и в помине.
    После -i вам нужно указать маску имени файла. Для последовательности изображений вида "frame_000.png, frame_001.png, ..." используется маска "frame_%%03d.png". Если не хотите изучать, как корректно собрать маску под ваши файлы, просто переименуйте их под мою. Например, с помощью Advanced Renamer.
    После этого нужно также определиться с частотой кадров видео. Пусть будет 24. Указывается дважды: с помощью -r в конце и -framerate в начале.
    Таким образом, чтобы получить из последовательности изображений mp4 файл в кодеке h264 с частотой кадров 24FPS, нужна следующая команда:
    ffmpeg -framerate 24 -i frame_%%03d.png -c:v libx264 -pix_fmt yuv420p -crf 21 -r 24 video.mp4
    И вызываться она будет из папки output с изображениями. Рядом еще желательно положить сам ffmpeg.exe
    Можете почитать еще это, например.

    Никаких "проблем" с разрешениями или кодом у ffmpeg нет, просто "output" файлом не является и открыт быть не может. В качестве источника ffmpeg принимает только файлы. Не папки.
    Ответ написан
    Комментировать
  • Как сделать видео из tga файлов?

    nidalee
    @nidalee
    Если файлы имеют названия вида image-000.tga, image-001.tga, ..., то:
    В виде bat-файла с лежащим рядом ffmpeg-ом и изображениями в той же папке, либо через командную строку:
    ffmpeg -framerate 25 -i image-%%03d.tga -pix_fmt yuv420p -vcodec libx264 -preset slow -crf 21 -r 25 -an file.mp4
    Фреймрейт указывается дважды с помощью -framerate и -r, во избежание проблем также прописываем -pix_fmt yuv420p, если вдруг вам не нужен другой параметр (вы бы знали), -crf определяет качество, чем меньше цифра, тем лучше качество и больше размер файла.
    Ответ написан
  • В каком формате лучше сохранить длинную лекцию, которая является изображениями из презентации плюс звук спикера?

    nidalee
    @nidalee
    Используйте контейнер MP4, кодек H.264, но для сжатия не указывайте битрейт, а пользуйтесь CRF. Чего-то в районе 25-30 должно хватить. Чем больше число, тем хуже качество, но меньше размер.
    This command encodes a video with good quality, using slower preset to achieve better compression:

    ffmpeg -i input.avi -c:v libx264 -preset slow -crf 22 -c:a copy output.mkv
    https://trac.ffmpeg.org/wiki/Encode/H.264
    Это можно сделать либо через ffmpeg, либо через любой его GUI, например Handbrake.

    Дополнительно файл можно сжать сильнее, если уменьшить его FPS. Поскольку это слайдшоу, 1 FPS должно хватить за глаза, если изображения статичны.
    С готовым видео после ffmpeg-а это можно сделать, например, с помощью mp4box:
    mp4box -add input.mp4:fps=1 -new output.mp4


    Лекция у вас в каком виде? Уже готовый видеофайл?
    Ответ написан
    2 комментария
  • Почему конвертация двух похожих файлов из mp4 в webm дает очень разные результаты?

    nidalee
    @nidalee
    Во-первых, если ваш энкодер умеет CRF, CQP и прочие адаптивные битрейты \ стратегии энкодера, нужно использовать их. О стратегиях энкодера (Encoder Strategy \ Rate Control \ и прочее названия одного и того же) можно почитать здесь.
    Вы не можете знать, какой битрейт нужен каждому отдельному кадру видео, поэтому ваши попытки указать битрейт вручную практически обречены на провал:
    1) Если указанный вами битрейт ниже реально необходимого, вы получите ухудшение качества картинки и артефакты сжатия.
    2) Если указанный вами битрейт выше реально необходимого, то качество видео останется неизменным, но файл будет "весить" больше, чем мог бы.
    Более того, вы указываете битрейт на все видео, в то время как переменный битрейт может быть больше в начале файла (например, где много движения, и требуется больше битрейт), а в конце файла могут быть длинные статичные планы - там битрейт нужен сильно меньше.

    Таким образом, поскольку вы используете VP9 (WEBM), вам следует использовать CRF (Constant Quality):
    To trigger this mode, you must use a combination of -crf and -b:v 0. Note that -b:v MUST be 0. Setting it to anything higher or omitting it entirely will instead invoke the Constrained Quality mode.

    ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 output.webm

    The CRF value can be from 0–63. Lower values mean better quality. Recommended values range from 15–35, with 31 being recommended for 1080p HD video.

    Поэтому все -b:v без CRF сразу выкидывайте.

    Поскольку в задаче не было указано, какой вам нужен размер файла, это самый адекватный подход. Если же вы хотите сжать файл и готовы смириться с потерями качества, нужно использовать Constrained Quality - работает примерно так же, но дополнительно ограничен сверху указанным вами битрейтом:
    ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 2000k output.webm

    The quality is determined by the -crf, and the bitrate limit by the -b:v where the bitrate MUST be non-zero.

    У вас, кроме того, достаточно нескромный для VP9 CRF - 20 - это для 4К без видимых потерь качества. Уверены, что вам нужно такое? Посмотрите гайд от гугла по VP9 - для 1080P они предлагают устанавливать CRF в 31.
    Второй файл с CRF 30 без ограничения битрейтом почти не увеличился. Что по качеству? Просело?

    Я не знаю, какой именно кодек используется в вашем MP4 исходнике, но если это HEVC\H.265, то там можно наколдовать более эффективное и качественное сжатие, особенно если есть много лишнего времени на медленные пресеты или ручной их тюнинг. Такой файл после конвертации в VP9 раздует наверняка.
    Если исходник H264, то он практически всегда должен сжимать хуже VP9, и значит проблема в ваших настройках.

    В общем и целом, при прочих равных, файлы с минимальными изменениями в кадре сжимаются лучше, чем экшн-сцены. То есть если у вас 20 минут абстрактного видео, 2\3 которого - статичное изображение, он будет легче, чем 5 минут абстрактной экшн-сцены.
    Опишите или покажите оба видео, и тогда картина наверняка прояснится.
    Ответ написан
    7 комментариев
  • Почему 4к форматы в формате mkv?

    nidalee
    @nidalee
    MKV достаточно универсален. Поэтому люди, которые делают рипы, не заморачиваются, не создают себе проблем, и делают рипы в MKV.
    Почему не MP4? В основном потому, что контейнер MKV поддерживает все хоть сколько-нибудь популярные кодеки (H.264, H.265, QuickTime...). MP4 - нет. Хотя в данном случае это касается в основном кодеков звука. Потому что вариантов кодирования звука очень много.
    Почему не AVI? Он слишком старый и простой. В него нельзя поместить часть нужной информации, плееры иногда должны угадывать параметры сами. Как написали выше, например, это размер пикселя. Хоть я и сомневаюсь, что кто-то из авторов рипов в наше время заморачивается с размерами пикселя, с AVI такого не провернешь. Он популярен, например, в архивах и библиотеках - где нужен максимально простой, не вызывающий никаких проблем контейнер. Кстати, я бы не назвал его популярным, его популярность осталась в начале нулевых. Сейчас у нас в основном MP4, потом примерно поровну MOV и MKV.

    В общем и целом MKV используют потому, что это привычно и удобно. А вам, как качающему, должны быть в принципе все равно.
    Ответ написан
    Комментировать
  • 2160p H.265 видео на старом железе?

    nidalee
    @nidalee
    Я бы сказал, что на таком железе оно обязано тормозить. Купите видеокарту с поддержкой аппаратного декодирования 8/10-bit HEVC (H.265) 4:2:0 и все будет работать хорошо. Можно самую дешёвую с рук.
    Поддержку этого самого декодирования картами можете посмотреть здесь (NVDEC Support Matrix)
    Ответ написан
    2 комментария
  • Какая разница между качеством и разрешением видео?

    nidalee
    @nidalee
    Качество видео измеряется в основном в битрейте (в проводнике Windows это "общая скорость потока"), а не "BD, DVD или TV/Web". То, что у вас называется качеством - банальный источник видео (причем я не уверен, что реальный). Blu-Ray, DVD или Интернет.
    Разрешение это высота и ширина кадров видео. В основном 720P, 1080P, 2160P (4K) и целая гора всего, что ниже 720P - можно называть их все "SD".
    Реальной связи между источником видео и разрешением нет, а вот с качеством - вполне возможно. На blu-ray обычно пишутся файлы с большим битрейтом, ибо он гораздо больше DVD. А вот в Интернет можно выложить что угодно, там качество никак не регулируется, и зная, что источник "Web", предположить качество невозможно.

    В приложении я пытаюсь правильно отображать индикацию для видео.
    Используйте разрешение и битрейт. Учтите, что даже видео в разрешении 4К можно сжать так, что "родная мама не узнает", если поставить слишком низкий битрейт.
    Ответ написан
    2 комментария
  • Рендер на 100% но не заканчиваеться Adobe Premiere?

    nidalee
    @nidalee
    Проверьте загрузку диска.
    После 100% начинается сведение видео и аудио в один файл.
    Прогресс при этом увидеть нельзя.
    Ответ написан
    Комментировать
  • Быстрый видеоредактор для небольших изменений видео?

    nidalee
    @nidalee
    DaVinci Resolve все это умеет. Он не то чтобы простой, но многим проще, чем разбираться с консолью ffmpeg-а.
    Ответ написан
    1 комментарий
  • Подвисает видео на YouTube в Хроме, в чем причина?

    nidalee
    @nidalee
    Проблема в DASH Playback. Этот кусок кода пытается решать, когда грузить следующий кусок файлов, заодно сводит видео и звук. Так вот, со своей работой он регулярно перестает справляться.
    Отключить его можно, но тогда останетесь с 720р максимум и без 60 фпс.
    Можете попробовать другой браузер, для начала.
    Ответ написан
    Комментировать
  • Рендеринг видео без видеокарты?

    nidalee
    @nidalee
    Без монтажа рендериться видео будет точно так же, как и с видеокартой, если вы его только конвертировать собираетесь.
    Adobe Premiere использует видеокарту только для эффектов, однако в "эффекты" входят в том числе такие простейшие вещи как изменение размера изображения или частоты кадров.

    TL;DR: смотря что именно вы собираетесь делать в премьере. Просто резать - нормально, если правильные настройки секвенции при создании укажете. Если цветокоррекция и прочие радости - будет тормозить, сильно.
    Ответ написан
    2 комментария
  • Рассинхронизация видео и звука в YouTube-трансляциях из OBS Studio?

    nidalee
    @nidalee
    Убедитесь, что у вас не переменный фреймрейт (не VFR). Поставьте, например, 30 или 60. Большая часть рассинхронов - его вина.
    Чем жмете? H.264? На процессоре или видеокарте?
    Ответ написан
    5 комментариев
  • Как в промо-видео показать касание в виде пальца, руки?

    nidalee
    @nidalee
    Только не могу понять, они сделали это уже в процессе монтажа видео или существуют спец приложения?
    Сделали в процессе монтажа.
    В Google Play не нашел.
    Ну, редакторы видео там есть, если у вас есть подходящая рука (изображение, видео, анимация) - накладываете и двигаете. А сделать с нуля только на ПК.
    Ответ написан
    1 комментарий
  • Как создать видео с эффектом прокрутки картинки?

    nidalee
    @nidalee
    Если устроит не бесплатное, то в Adobe Premiere можно легко сделать по аналогии с моим ответом здесь.
    Вам нужно поставить keyframe в начале и в конце, и изменить им position. Для титров есть rolling title - "барабан".
    Ответ написан
    Комментировать
  • Как оптимизировать фоновое видео?

    nidalee
    @nidalee
    Для интернет-страницы вам желателен H.264 (поддерживается даже кофеварками) или VP9 (лучше сжимает). Для кодировки предлагаю Handbrake, он поддерживает оба кодека. Собственно, Web-пресеты там тоже есть.
    С параметрами экспериментируйте или спрашивайте.
    Ответ написан
    Комментировать