Удивительное дело в Davinci Resolve. Первый файл с большим битрейтом и каждым 24 ключевым 4,5fps, второй 100мб/с каждый 48 12-16fps, третий с большим количеством ключевых 24fps без проблем.
Здесь я кажется понимаю в чем проблема. Хак битрейта так работает, что такое может произойти. Как хорошо, что есть такие графики, надо будет проверить.
ключевые по размеру меньше не ключевых
Обычное явление при попытке кодека выравнять качество кадров. Иногда слишком хорошее качество ключевых рождает пульсацию в видео, и слишком плохое качество тоже.
ну а all-intra нету в принципе
Когда кодек не справляется, он игнорирует просьбу ключевого кадра и выставляет промежуточный P. Это касается только Андроид.
А вот по нагрузкам ничего по графикам не понял. Выглядит, что декодирование не нагружает проц.
У меня процессор на 1% напрягается меньше, где ключевых больше. На обоих других примерно одинаково. Битрейт никак не повлиял. Надо какой-то более скрупулезный тест.
А вот диск HDD, где каждый (условно) ключевой, нормально так напрягся.
Сравнение проводится без аппаратной поддержки? Я ща закачаю три исходника с телефона 4:2:0. Один: 319Мб/с, ключевые каждый 48ой. Второй: 99,8Мб/с, ключевые каждый 48ой. Третий: 318Мб/с, ключевые каждый. Проверим?
Если в zip сжать то, что почти не сжато (видео, например), то распаковка не нагрузит проц вообще. Нагрузка повышается только когда есть, что распаковывать, т.е. при действительно сильном сжатии. И в HEVC так же само. Поэтому чем больше битрейт, тем меньше работает проц.
В телефонах в принципе не реализуют ничего кроме 4:2:0.
Ни разу не так, или вы сравниваете скорость декодирования разных битрейтов разных кодеков?
Мы (те, что интересуются мобильным видео), когда работаем с материалом, не просто его проигрываем, а еще и монтируем в программах нелинейного монтажа. А там очень важен параметр скорости декодирования, при условии, что не пользуемся кешем. Я не пользусь. Поэтому как влияет битрейт на декодирование нам известно не по наслышке. Высокий битрейт = низкая степень сжатия = нагрузка на носитель (лучше всего работать с SSD). Низкий битрейт = высокая степень сжатия = нагрузка на процессор. Задача монтажного кодека найти баланс между тем и тем.
сделать одновременно и сильное сжатие и быстрое декодирование
Об этом мы и ведем речь. Если качество при том же битрейте у HEVC лучше, значит была применена более высокая степень сжатия, больше механизмов сжатия было задействовано. Но у меня прекрасно работает HEVC 320Mbps с All-intra, если я файл проигрываю с SSD. Проблемы с тяжестью проигрывания есть на HDD. Если рассматривать кодеки ближе, то основной механизм сжатия у AVC/HEVC/ProRes одинаковый. Отличаются они не так сильно, как с первого взгляда может показаться.
Какого такого размера?
YUV - цветовое пространство AVC/HEVC. Это значит, что UV при дискретизации 4:2:0 имеют в 4 раза меньший размер. При 4:2:0 получается (4/4 + 1/4 + 1/4)/3 = 0.5 от размера 4:4:4. Т.е. 4:4:4 будет примерно в два раза больше, чем 4:2:0, если мы говорим о YUV без дополнительного сжатия. И для сохранения качества плоскости Y, нам нужно увеличить битрейт в 2 раза, иначе нет никакого смысла в 4:4:4. 4:2:0 не просто так были придуманы, как раз для того, чтобы экономить место.
Чем выше битрейт, чем ниже субдискретизация (4:4:4 самая низкая), тем проще декодировать. Монтажный кодек, коим является ProRes, отличается от остальных меньшим сжатием (т.е. тем, что я обозначил выше) и расположением ключевых кадров, обычно выставляется каждый ключевой. В этом случае вся нагрузка ложится на накопитель. Процессору нечего декодировать. HEVC 4:4:4 с каждым ключевым будет такого размера, что накпитель будет иметь проблемы для его проигрывания. Плюс плееры любят буферизировать несколько первых секунд, и с таким размером файла они могут слегка обалдевать. Андроид всегда отличался тем, что он имеет возможности выше, чем принято использовать в нативных приложениях. Дать возможность 4:2:2 не велика трагедия. Никто не заставляет заниматься поддержкой в нативных приложениях, плеерах и прочем. И тут есть такой момент, если смог iPhone, значит андроид способен на это уже минимум 2 года. Просто производителям Андроид надо, чтобы кто-то вечно им давал пинок под зад. А Самсунг так вообще не стесняется вечно сравнивать себя с iPhone. Они сами не скрывают, что копировать iPhone их основная задача.
А вы сами пробовали hevc 4:2:2?
Что за программист видео приложения, который не интересуется темой, которую он программирует?
Только в последнем обновлении прилетело ограничение на 4К60 на все аппараты, независимо от процессора. Исключением стала ультра на снэпе, там все еще доступно 4К60. Так что дело не в перегреве. На сегодня выглядит, что это политика Самсунг. Ну и странно иметь 4К60 в нативном приложении и не давать его сторонним приложениям с формулировкой о перегреве.
В реалиях, когда гугл заказывает свои Pixel у других производителей, и те делают все те же самые ошибки поддержки, как и на своих родных аппаратах, трудно от Google ждать каких-то требований. Google не может гарантировать нормальную поддержку на Google Pixel, как он может выдвигать что-то другим производителям?
В результате получается, что Apple сам по себе сильный конкурент для Андроид, так еще и армия сторонних программистов помогает ему делать iPhone лучше и лучше каждый день. А Андроид каждый сам по себе, разработку всего конкурентного преимущества берет на себя. Первый, кто из Андроидов задумается о поддержке сторонних разработчиков, получит много конкурентного преимущества, потому что все приложения будут работать из коробки как надо. И этим он заимеет поддержку в среде сторонних разработчиков, они гласно или негласно будут рекомендовать такие аппараты. Мне часто задают вопрос: какой аппарат больше подходит для приложения. Т.е. я имею возможность влиять на мысли пользователей в данном вопросе.
Невозможно написать такую статью. Первое, потому что я не знаю, насколько какой аппарат раскрывается, мне доступна информацию по примененным костылям к некоторым девайсам. Второе, потому что вчера у флагманов Samsung были доступны 60к/с, а после последнего обновления уже не доступны. Производитель или сделал это специально или случайно, пока никто не знает.
Отсутствие боке видит каждый вменяемый человек. Просто не всех это напрягает. Меня резкость по всему кадру не устраивает, поэтому есть некое подсознательное стремление к отдельным аппаратам, которые предлагают хоть какое-то размытие заднего фона. Ну или использование навесных линз немного улучшают положение дел.
Те, что подороже, конечно. Я, честно, не изучал этот вопрос, потому как он не входит в мою компетенцию. В большинстве случае стабилизация работает только в нативных приложениях. Можно посмотреть на Mi11 Ultra, там хорошая стабилизация. Вполне соревнуется с iPhone 13 Pro Max.
Если накрутить руками яркость, то возможно получится что-то рядом. Но смысл HDR как раз в том, чтобы не надо было ничего крутить руками, чтобы пользователь сразу видел примерно такой кадр, который у себя видел колорист, когда красил видео. В отношении Dolby Vision это справедливо в 99% случаев. В отношении всех других стандартов есть много допущений. Поэтому пользователи iPhone для записи видео получили примерно ничего, а вот в плане отображения контента бонусы все же есть.
Удивительное дело в Davinci Resolve. Первый файл с большим битрейтом и каждым 24 ключевым 4,5fps, второй 100мб/с каждый 48 12-16fps, третий с большим количеством ключевых 24fps без проблем.
Здесь я кажется понимаю в чем проблема. Хак битрейта так работает, что такое может произойти. Как хорошо, что есть такие графики, надо будет проверить.
Обычное явление при попытке кодека выравнять качество кадров. Иногда слишком хорошее качество ключевых рождает пульсацию в видео, и слишком плохое качество тоже.
Когда кодек не справляется, он игнорирует просьбу ключевого кадра и выставляет промежуточный P. Это касается только Андроид.
А вот по нагрузкам ничего по графикам не понял. Выглядит, что декодирование не нагружает проц.
У меня процессор на 1% напрягается меньше, где ключевых больше. На обоих других примерно одинаково. Битрейт никак не повлиял. Надо какой-то более скрупулезный тест.
А вот диск HDD, где каждый (условно) ключевой, нормально так напрягся.
https://yadi.sk/d/248cxvcDAmEbNw
Сравнение проводится без аппаратной поддержки?
Я ща закачаю три исходника с телефона 4:2:0. Один: 319Мб/с, ключевые каждый 48ой. Второй: 99,8Мб/с, ключевые каждый 48ой. Третий: 318Мб/с, ключевые каждый.
Проверим?
Я в этом уверен.
Только декодирования или кодирования в другой формат одновременно?
Если в zip сжать то, что почти не сжато (видео, например), то распаковка не нагрузит проц вообще. Нагрузка повышается только когда есть, что распаковывать, т.е. при действительно сильном сжатии. И в HEVC так же само. Поэтому чем больше битрейт, тем меньше работает проц.
В этом и заключается печаль.
Ну ерунда какая-то, которая расходится с логикой работы кодека. 700Мб/с почти не нагружает процессор. Что-то с системой не так, если такое происходит.
А почему 4:4:4 не может декодироваться аппаратно?
Мы (те, что интересуются мобильным видео), когда работаем с материалом, не просто его проигрываем, а еще и монтируем в программах нелинейного монтажа. А там очень важен параметр скорости декодирования, при условии, что не пользуемся кешем. Я не пользусь. Поэтому как влияет битрейт на декодирование нам известно не по наслышке. Высокий битрейт = низкая степень сжатия = нагрузка на носитель (лучше всего работать с SSD). Низкий битрейт = высокая степень сжатия = нагрузка на процессор. Задача монтажного кодека найти баланс между тем и тем.
Об этом мы и ведем речь. Если качество при том же битрейте у HEVC лучше, значит была применена более высокая степень сжатия, больше механизмов сжатия было задействовано. Но у меня прекрасно работает HEVC 320Mbps с All-intra, если я файл проигрываю с SSD. Проблемы с тяжестью проигрывания есть на HDD. Если рассматривать кодеки ближе, то основной механизм сжатия у AVC/HEVC/ProRes одинаковый. Отличаются они не так сильно, как с первого взгляда может показаться.
YUV - цветовое пространство AVC/HEVC. Это значит, что UV при дискретизации 4:2:0 имеют в 4 раза меньший размер. При 4:2:0 получается (4/4 + 1/4 + 1/4)/3 = 0.5 от размера 4:4:4. Т.е. 4:4:4 будет примерно в два раза больше, чем 4:2:0, если мы говорим о YUV без дополнительного сжатия. И для сохранения качества плоскости Y, нам нужно увеличить битрейт в 2 раза, иначе нет никакого смысла в 4:4:4. 4:2:0 не просто так были придуманы, как раз для того, чтобы экономить место.
Чем выше битрейт, чем ниже субдискретизация (4:4:4 самая низкая), тем проще декодировать. Монтажный кодек, коим является ProRes, отличается от остальных меньшим сжатием (т.е. тем, что я обозначил выше) и расположением ключевых кадров, обычно выставляется каждый ключевой. В этом случае вся нагрузка ложится на накопитель. Процессору нечего декодировать. HEVC 4:4:4 с каждым ключевым будет такого размера, что накпитель будет иметь проблемы для его проигрывания. Плюс плееры любят буферизировать несколько первых секунд, и с таким размером файла они могут слегка обалдевать.
Андроид всегда отличался тем, что он имеет возможности выше, чем принято использовать в нативных приложениях. Дать возможность 4:2:2 не велика трагедия. Никто не заставляет заниматься поддержкой в нативных приложениях, плеерах и прочем.
И тут есть такой момент, если смог iPhone, значит андроид способен на это уже минимум 2 года. Просто производителям Андроид надо, чтобы кто-то вечно им давал пинок под зад. А Самсунг так вообще не стесняется вечно сравнивать себя с iPhone. Они сами не скрывают, что копировать iPhone их основная задача.
Что за программист видео приложения, который не интересуется темой, которую он программирует?
Только в последнем обновлении прилетело ограничение на 4К60 на все аппараты, независимо от процессора. Исключением стала ультра на снэпе, там все еще доступно 4К60. Так что дело не в перегреве. На сегодня выглядит, что это политика Самсунг.
Ну и странно иметь 4К60 в нативном приложении и не давать его сторонним приложениям с формулировкой о перегреве.
В реалиях, когда гугл заказывает свои Pixel у других производителей, и те делают все те же самые ошибки поддержки, как и на своих родных аппаратах, трудно от Google ждать каких-то требований. Google не может гарантировать нормальную поддержку на Google Pixel, как он может выдвигать что-то другим производителям?
В результате получается, что Apple сам по себе сильный конкурент для Андроид, так еще и армия сторонних программистов помогает ему делать iPhone лучше и лучше каждый день. А Андроид каждый сам по себе, разработку всего конкурентного преимущества берет на себя.
Первый, кто из Андроидов задумается о поддержке сторонних разработчиков, получит много конкурентного преимущества, потому что все приложения будут работать из коробки как надо. И этим он заимеет поддержку в среде сторонних разработчиков, они гласно или негласно будут рекомендовать такие аппараты.
Мне часто задают вопрос: какой аппарат больше подходит для приложения. Т.е. я имею возможность влиять на мысли пользователей в данном вопросе.
Невозможно написать такую статью. Первое, потому что я не знаю, насколько какой аппарат раскрывается, мне доступна информацию по примененным костылям к некоторым девайсам. Второе, потому что вчера у флагманов Samsung были доступны 60к/с, а после последнего обновления уже не доступны. Производитель или сделал это специально или случайно, пока никто не знает.
Да, 1+ ведет себя подозрительно в плане доп.модулей. Но с 60к/с вроде все в порядке.
Нет. У GoPro нет задачи снимать качественно. Упор на стабилизацию и стабильную работу в экстремальных условиях.
Разве Davinci Resolve в самом начале пути был только на macOS?
Отсутствие боке видит каждый вменяемый человек. Просто не всех это напрягает. Меня резкость по всему кадру не устраивает, поэтому есть некое подсознательное стремление к отдельным аппаратам, которые предлагают хоть какое-то размытие заднего фона. Ну или использование навесных линз немного улучшают положение дел.
Те, что подороже, конечно. Я, честно, не изучал этот вопрос, потому как он не входит в мою компетенцию. В большинстве случае стабилизация работает только в нативных приложениях. Можно посмотреть на Mi11 Ultra, там хорошая стабилизация. Вполне соревнуется с iPhone 13 Pro Max.
Это будет бессмысленный спор. Тем, кто разбирается, что и почему, всё понятно без лишних объяснений.
Если накрутить руками яркость, то возможно получится что-то рядом. Но смысл HDR как раз в том, чтобы не надо было ничего крутить руками, чтобы пользователь сразу видел примерно такой кадр, который у себя видел колорист, когда красил видео. В отношении Dolby Vision это справедливо в 99% случаев. В отношении всех других стандартов есть много допущений. Поэтому пользователи iPhone для записи видео получили примерно ничего, а вот в плане отображения контента бонусы все же есть.