мне нужно получить prores444
Вы имеете в виду ProRes 4444? Он все еще называется "4444", даже если вы не используете альфа-канал.
Является ли prores_ks альтернативой prores444
Не совсем. Причина, по которой в FFmpeg есть несколько кодеков ProRes, в том, что все они в некотором роде конкурируют. Возможно, в какой-то момент мейнтейнеры
libavformat
начнут удалять некоторые альтернативы.Некоторые из этих кодеков предназначены только для декодирования (например,
prores_lgpl
), поэтому для целей этого вопроса доступными вариантами являются:
prores
: В настоящее время он поддерживает только пиксельный форматyuv422p10le
, что означает, что он кодирует только ProRes 422.
prores_aw
: Имеет то же ограничение, что иprores
prores_ks
: этот кодек, и, по крайней мере, начиная с FFmpeg 2.1.3, он принимает пиксельный форматyuva444p10le
, что вам и нужно для получения ProRes 4444.Эта альтернатива вашей команде работает на моем Mac, на котором установлены официальные кодеки Apple ProRes:
$ EXRFILE="/tmp/v002/fb_sq021_sc003_v002.%04d.dpx" $ ffmpeg -start_number 0101 -y -f mov -r 24 -i ${EXRFILE} -vcodec prores_ks -pix_fmt yuva444p10le -profile:v 4444 -s 960x540 /tmp/v002/fb_sq021_sc003_v002.mov
Несколько моментов:
Я добавил опцию
-pix_fmt yuva444p10le
, которая говорит кодеку, что мы хотим получить 4:4:4:4. Если входной сигнал не имеет альфа-канала, то вместо него будет выдан 4:4:4.Я добавил параметр
-profile:v 4444
, который, похоже, недавно был добавлен в кодек. Если вы оставите этот параметр, вы получите ProRes 422, несмотря на опцию формата пикселей 4:4:4:4.Я удалил параметр
qscale
, поскольку он позволяет кодекуprores_ks
нарушать ограничения, определенные в спецификации ProRes.ProRes - это кодек на основе профилей, то есть, когда вы выбираете один из профилей, он выполняет фиксированную степень сжатия, определенную в спецификации. Если вам нужен другой уровень сжатия, вы должны выбрать другой профиль, а не менять настройки качества.
Кодек
prores_ks
позволяет изменять битрейт или уровень качества независимо от профиля, даже если это означает, что результирующий файл нарушает спецификацию. Могут существовать вполне совместимые декодеры ProRes, которые отказываются принимать созданный вами файл. Это наиболее вероятно с аппаратными декодерами, поскольку они обязательно ограничены в ресурсах. Если вы выполняете декодирование в программном обеспечении - например, в QuickTime Player - вы, вероятно, можете нарушать спецификацию таким образом, если ваш ПК достаточно быстр, чтобы справиться с более высокими битрейтами, которые могут получиться в результате.Вам нужен
-s
, только если вы изменяете масштаб входных кадров. Если да, то интересно, зачем вы вообще используете такие форматы, как EXR и ProRes 4444? OpenEXR обычно используется там, где нужны изображения без потерь, хотя у него есть вариант с низкими потерями. ProRes 444444 почти без потерь. Перемасштабирование входных кадров по своей природе имеет потери.Если изображение должно хорошо выглядеть только на мониторе компьютера при воспроизведении в реальном времени, вы, вероятно, сможете обойтись H.264 с высоким битрейтом. Для 540p, я думаю, 10 Мбит/с или около того будет достаточно, чтобы получить результат, неотличимый от ProRes 4444, который работает на скорости около 67 Мбит/с для 540p.
Если пользователи видео будут ставить его на паузу и изучать кадр за кадром, H.264 - плохая идея, но и изменение масштаба входных кадров тоже. По крайней мере, не следует уменьшать разрешение ниже, чем разрешение монитора. Так, если ваш источник EXR дает массивные кадры 4K, есть хороший аргумент в пользу изменения масштаба, скажем, до 1440×900 для данного монитора, при условии, что пользователи не хотят иметь возможность увеличивать изображение.
Обратите внимание на изменение формата контейнера QuickTime (
-f mov
). Это обычный контейнер для файлов ProRes.Я не вижу смысла в
-vendor ap10
, поэтому я удалил его. Повторяю, ProRes - это ProRes. Ему не нужно быть помеченным как "от Apple", чтобы работать.Я удалил
-probesize 5000000
, так как не вижу, что это дает какую-либо пользу в данном случае.как найти альтернативу этому.
ffmpeg
имеет множество альтернатив для сжатия видео с малыми потерями. Я написал длинный ответ на SuperUser.SE, объясняющий все это.Вероятно, мне следует переделать тесты ProRes, поскольку с тех пор, как я это написал, в кодеках ProRes в
ffmpeg
произошло много изменений.
Если вы хотите установить Windows и Arch на 2 отдельных жестких диска:
grub
разобраться FAT
)grub
, а затем вам нужно что-то вроде rEFInd , и я запускаю так :Windows 10 на первом SSD, Linux (Ubuntu в моем случае, но и Arch, и Ubuntu используют grub
, так что там нет никакой разницы )и оба моих efi
раздела идентичны и я считаю вторичным efi
разделите резервную копию первого и скройте повторяющиеся записи в меню rEFInd.Я регулярно dd
от /dev/sda1
до /dev/sdb1
¹ Вам придется много читать, в том числе часть из документов консорциума UEFI , но вы многому научитесь, и это можно сделать ! (Очевидно... ;-))Примечание ¹ :Да, это неправильная команда, я знаю, :Я не добавляю общие команды dd
ни в один из своих ответов, поскольку dd
наиболее известен под D
isk D
прозвище эстроер.:-)
Примечание ²:Поскольку вы не объяснили, почему вы пытаетесь это сделать :, если один из жестких дисков выйдет из строя, другая ОС больше не будет доступна, поскольку она содержит только один из жестких дисков., даже если у вас есть дубликаты разделов efi
, поэтому, если вы ищете отказоустойчивость, используйте вместо этого RAID1.
Примечание ³ :Я хотел обеспечить резервное копирование раздела EFI
на втором SSD, для которого rEFInd на самом деле не настроен, и убедиться, что диспетчер загрузки Windows никоим образом не испортить GRUB.