Своя видео-платформа — ffmpeg и качество кодирования видео. Part 2

Продолжаю раскрывать особенности работы видео сервисов. Сегодня заметки про параметры кодирования и их выбор.
Большинство кодеков предлагают достаточно сбалансированные значения по умолчанию, позволяя получить нормальный результат без долгого подбора параметров. Однако, когда речь идёт о большом архиве видеоматериала, об ограничениях на битрейт, соображениях совместимости с оборудованием клиента и разумном желании сохранить качество оригинала, всё становится интереснее.
К сожалению, волшебной кнопки «скодировать совсем хорошо» не предусмотрено. Как и аналога caniuse для параметров кодирования. Придётся разбираться в особенностях работы кодеков.
Вводная часть: профили
Настроек и параметров у H264 такое количество, что сами разработчики для того, чтобы в них не запутаться, решили сделать список профилей — «хороших» конфигураций для разных целей. Стандартных профилей определили много; дополнительно, устанавливая собственные параметры кодирования, вы, фактически, создаёте собственный профиль, запутывая всех окончательно. Так что, к сожалению, получилось как всегда.

Изначально профили создавались для определения, будет ли проигрываться итоговое видео на нужном типе устройств, однако сейчас какого-то однозначного разделения проигрывателей по типам устройств и профилям нет.
На практике я бы выделил, по уровню ресурсоёмкости декодирования, три группы параметров:
- с отключённым CABAC; условно main- и baseline- профили. Их всё ещё можно использовать для поточного вещания, чувствительного к задержкам;
- со включённым CABAC; условно high-профиль. Для всего. Большая часть современного (и не очень) оборудования умеет такое проигрывать. Прирост эффективности по сравнению с main — 20%+;
- с поддержкой десятибитного сэмплирования и других продвинутых параметров. Условно Hi10P. Проблемой таких профилей является практически полное отсутствие аппаратной поддержки и повышенные требования к декодирующему оборудованию; телефоны, даже топовые, могут с такими файлами не справиться. Можно использовать для личной медиатеки, если вы уверены в своём оборудовании. Ещё 10-20% прироста эффективности.
Теперь к отдельным параметрам.
Цветовое пространство
Выбор цветового пространства практически не влияет на эффективность кодирования; этот параметр можно было бы оставить на выбор кодека (он важен при обработке сырых, некодированных данных), если бы не одна особенность: многие плееры весьма специфически обрабатывают информацию о цветовом пространстве, так что у большой части пользователей видео может отображаться с искажениями цвета (в основном зелёного).
Чтобы сохранить цвета для большинства плееров, разные H264 видео нужно кодировать в разных пространствах:
- для SD (ширина < 1280) — BT.601
- для HD (ширина >= 1280) — BT.709
Фреймрейт
Если ваш источник — не стримы игр или экшн-видео, то имеет смысл ограничить верхнее значение фреймрейта 25-30 кадрами — чем их меньше, тем больше остаётся данных для описания отдельного кадра. Уменьшать это значение лучше кратно — так, чтобы пропуск кадров был равномерным, иначе от видео может возникнуть ощущение подтормаживания.
Есть ещё такая вещь, как переменная частота кадров. Работать с VFR неудобно по двум причинам: во-первых, это даёт пики битрейта на участках с высокой частотой, которые мгновенно опустошают буфер; во-вторых, VFR усложняет составление плана конвертации, заставляя использовать Q-параметры (о них я писал в первой статье).
GOP size
Группы изображений — блоки, в пределах которых одни изображения могут ссылаться на данные других. Увеличение размера GOP повышает эффективность кодека в обмен на повышение требований к памяти. Большие значения особо эффективны для файлов с однотипными, циклическими движениями (вы же понимаете, о чём я). Также, при больших значениях могут возникнуть проблемы с перемоткой видео, т.к. нужно будет восстановить больший объём данных.
Название параметра, также, как и единицы измерения, могут отличаться от кодека к кодеку — смотрите документацию.
Slices
Для ускорения декодирования (и кодирования) видео можно разделить на части более низкого разрешения. Идея в том, что обработать четыре видео с разрешением, например, 1280×720 проще, чем одно, но 2560×1440. Имеет смысл при разрешениях выше FHD. Чем больше частей, тем ниже эффективность кодека. Также, использование такого разделения упрощает многопоточную обработку.
Анаморфные пиксели
Прямоугольные пиксели появляются тогда, когда соотношение сторон и отношение пиксельной ширины к высоте отличаются — широкоформатные DVD, где 16:9 видео имеет разрешение 704×480 (3:2 с аналоговым НДС и поправкой на ветер). Проигрывание таких видео проблем не вызовет, однако при кодировании нужно учитывать одновременно и разрешение и соотношение сторон, иначе легко преобразовать анаморфные либо в стандартные квадратные пиксели с потерей эффективности (до ~35%!), либо вообще получить что-то сплющенное по горизонтали.
Контроль битрейта
Есть три основных режима работы кодеков, связанных с битрейтом:
- постоянный битрейт, CBR, когда качество падает пропорционально сложности сцены;
- постоянное качество, const Q VBR, когда пропорционально сложности сцены растёт битрейт;
- ограниченные битрейт и качество — классический VBR.
Для онлайн проигрывания (да и для стриминга) хорошо подходит constrained VBR, т.к. он даёт лучшее, чем CBR, качество и позволяет уместить поток в интернет-канал.
Выбор maxrate/minrate зависит от канала клиента, разброс больше 20% лучше не делать.
Многопроходное кодирование
Распределение данных по файлу в VBR-режиме предсказать сложно, кодекам приходится угадывать, что получается не всегда. В многопроходном режиме кодек сперва составляет карту требующегося битрейта, а потом кодирует. Таким способом улучшается качество видео в сложных и динамических сценах (пример. Обратите внимание на количество «муарных» элементов и количество переходов между сценами). Так как при первом проходе кодек только анализирует исходный файл, вопреки распространённому мнению, обработка в таком режиме требует времени больше не в два раза, а только на 10-15%.
-tune
Для разных типов исходного материала подготовлено несколько пресетов, подстраивающих некоторые базовые параметры кодирования — такие, как уровни деблокинг-филитра, параметры психовизуальной оптимизации. Использование этих пресетов улучшает восприятие видео и хорошо работает, если вы заранее знаете тип источника, или у вас структурированный набор видео (в случае массовой обработки).
- film — для фильмов и всего со сложной структурой кадра. Это — однозначно film;
- animation — для видео с большими однотонными областями. То есть, это лучше кодировать с пресетом animation, а это — film, несмотря на то, что анимация;
- stillimage — для видео, где почти нет движения; хорошая оптимизация для тех песен в формате mp4, где в течение всего видео фоном — обложка альбома (кто-нибудь, скажите им, что даже flac на 10 минут не может весить 300MB!);
- grain — для кодирования «шумных» источников, вроде камер наблюдения;
- psnr/ssim — для оценки эффективности остальных параметров кодека;
- fastdecode — форсированный main-профиль для слабых устройств;
- zerolatency — как и следует из названия, для стриминга с низкой задержкой.
Формат пикселей
Формат и битность сильно влияют на то, как сжимаются и разжимаются файлы, в каком виде теряется качество. Основные параметры, которые описывает пиксельный формат:
- способ разложения цвета на компоненты — YUV, RGB;
- параметры цветовой субдискретизации (о как! chroma subsampling привычнее), когда некоторые цветовые компоненты сохраняются с меньшим разрешением;
- глубина цветовых компонентов в битах.
- не все кодеки (и, главное, декодеры) поддерживают возможные форматы;
- работа с некоторыми форматами требовательнее к ресурсам — Hi10P отличается от просто high-профиля именно этим;
- работа с субдискретизированными форматами может дать заметное повышение эффективности сжатия, однако регулировать потери качества сложнее.
Чересстрочность
Чересстрочность придумали для удвоения воспринимаемой частоты кадров минимальными затратами — битрейт и разрешение те же, а частота выше. Однако, при быстром движении становятся заметны зубцы — строки предыдущего кадра. Избавиться от эффекта, не отбрасывая кадры и не уменьшая вертикальное разрешение, можно фильтрами, но они уменьшат чёткость. Если видео будет проигрываться в браузере, чересстрочность лучше отфильтровать при кодировании, т.к. реалтайм-фильтрация на клиенте даст не лучшие визуальные результаты.
Собираем всё вместе
Пример для x264:
ffmpeg -i [источник] -c:v libx264 -b:v [bitrate] #целевой битрейт -maxrate [bitrate] #настраиваем девиацию битрейта -r [framerate] -g [size] #GOP в кадрах -aspect [соотношение, например 16:9] #если исходник анаморфный -profile high #самый простой способ включить CABAC -color_primaries bt709 #отдельно задаём цветовое пространство, не полагаясь на кодек -color_trc bt709 -colorspace bt709 -slices 4 #кодируем отдельными блоками низкого разрешения -threads 4 -tune [value] -map_metadata:g -1 #очищаем метаданные, онлайн они нам не нужны -map_metadata:s:v -1 -map_metadata:s:a -1 -map_chapters -1 -pass [1|2] #при многопроходном кодировании -passlogfile [file] #если обрабатываете файлы параллельно #-map . -a:c . -ac . -a:b . фильтры, разрешения - по вкусу [назначение]
Разумеется, в одной статье всё охватить не получилось, но уверен, этого материала будет достаточно для улучшения качества многих видео.
Читайте документацию и экспериментируйте.
В дополнение к примеру из прошлой статьи, я узнал о ещё одной инсталяции моего кода — клик. Примеры в статье постарался брать с этих сайтов, но не смотря на это:
*Я не имею прямого отношения к авторам упоминаемых сайтов и могу не разделять их взгляды и мнение. Решения о том, кому и как предоставляется доступ к коду я комментировать не могу.
Готов ответить на вопросы.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Станете ли вы платить за хостинг вашего видеоматериала при наличии там инструментов управления качеством и доступом к видео?
suse 15.0 видеокодеки
Всем доброй ночи! Это уже 3й дистр suse. Да! Всегда были бубны с кодеками, но вот на 15.0 не удаётся победить. Много чего пробовал, но не помогает. Помогите победить!
Не зависит от браузера. Часть видео работает, часть нет. Не работает, в смысле, не показывает никак, пишет ошибка, или все в розовых и оранжевых кубиках.

stslit
14.06.19 22:51:40 MSK
Много чего пробовал, но не помогает.
Кодеки из Packman в том числе?
zaharov ★
( 14.06.19 23:39:25 MSK )
Последнее исправление: zaharov 14.06.19 23:40:47 MSK (всего исправлений: 1)
I can’t play some YouTube videos
Часть видео работает, часть нет
Я так полагаю на ютубе не работают ролики H.264 only (новые и/или малопопулярные). Проверить поддержку в браузере можно тут https://html5test.com (Раздел Video/Audio: H.264, AAC, MP3).
Проверить в чем закодирован ролик:
youtube-dl URL -F
anonymous
( 15.06.19 00:10:06 MSK )
Собери нормально ffmpeg и не нужно будет подключать корявый пакман. Делов-то на минуту.
anonymous
( 15.06.19 00:30:59 MSK )
типа такого
curl -L -O https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases/download/0.39.0/0.39.0-linux-x64.zip unzip 0.39.0-linux-x64.zip mv -v libffmpeg.so /usr/lib64/opera/libffmpeg.so rm 0.39.0-linux-x64.zip
И не занимайтесь ерундой. Хотя… В розовых и оранжевых кубиках? Опенсорсный драйвер? Если проприетарный драйвер поставить, то же самое?
linuxnewbie
( 15.06.19 01:28:52 MSK )
Ответ на: комментарий от anonymous 15.06.19 00:30:59 MSK
Зачем мучать себя жалким подобиемм на дистр, где такие базовые вещи нельзя просто поставьть из основных реп?
anonymous
( 15.06.19 03:01:08 MSK )
Ответ на: комментарий от anonymous 15.06.19 03:01:08 MSK
Осталось подождать, пока на H.264 патенты истекут и Сусей можно будет пользоваться. AAC и MP3 уже доступны. А будущее за открытыми VP9/AV1.
anonymous
( 15.06.19 12:25:15 MSK )
Поставь пакеты
http://packman.links2linux.org/package/ffmpeg-4/900919 (для Firefox)
http://packman.links2linux.org/package/chromium-ffmpeg-extra/898016 (для Chromium)
Правда, меня смущает, что версия chromium-ffmpeg-extra отличается от версии хромиума из родного репозитория https://software.opensuse.org/package/chromium Поставится ли или packman RIP?
anonymous
( 15.06.19 12:36:59 MSK )
Ставь Packman Essentials для своей версии дистрибутива
Вот мой список установленных пакетов с этого репозитория, он предназначен сугубо для кодеков.
awesomenickname ★★★★★
( 15.06.19 12:43:03 MSK )
Ответ на: комментарий от anonymous 15.06.19 12:25:15 MSK
Будущее за hevc и прочей проприетарщиной, а не только vp9/av1 , так порешали дяди, которые заправляют медиаиндустрией.
anonymous
( 15.06.19 12:43:17 MSK )
Ответ на: комментарий от anonymous 15.06.19 12:36:59 MSK

chromium-ffmpeg-extra не нужен для того, чтобы проигрывалось видео, достаточно установить правильно собранных libav* и chromium сам разберется, что там и как.
Но лучше, конечно, установить менее мертвый дистрибутив, где стразу есть все, что нужно.
Khnazile ★★★★★
( 15.06.19 12:57:25 MSK )
Последнее исправление: Khnazile 15.06.19 12:58:28 MSK (всего исправлений: 1)
Ответ на: комментарий от Khnazile 15.06.19 12:57:25 MSK
Это не баг, это фича. Линус так вообще Федорой пользуется.
anonymous
( 15.06.19 13:28:00 MSK )
Ответ на: комментарий от anonymous 15.06.19 03:01:08 MSK
Это жестокий мир попенсурса детка и таким как ты здесь не место! Опакетить для зюзи что-либо есть элементарные вещи.
anonymous
( 15.06.19 14:05:07 MSK )
Ответ на: комментарий от anonymous 15.06.19 14:05:07 MSK
Я себе опакечиваю НЕ для зюзи то, что этого требует тогда когда это нужно, а не такие совсем базовые вещи постоянно.
anonymous
( 15.06.19 14:09:26 MSK )
Ответ на: комментарий от anonymous 15.06.19 14:05:07 MSK

Опакетить для зюзи что-либо есть элементарные вещи
Полнейшая чушь. Сначала ты 5 дней пытаешься написать спек, который бы собирался без ошибок. Потом твой проект удаляют из билд-сервиса из-за той самой патентной чистоты, из-за которой в дистр нельзя положить нормальны ffmpeg сразу.
Khnazile ★★★★★
( 15.06.19 14:13:08 MSK )
Ответ на: комментарий от Khnazile 15.06.19 14:13:08 MSK
Собирай локально. Я на дебиане даже VLC собирал, проблем не было.
anonymous
( 15.06.19 14:35:02 MSK )
Ответ на: комментарий от Khnazile 15.06.19 14:13:08 MSK
Сначала ты 5 дней пытаешься написать спек, который бы собирался без ошибок.
Берешь за основу готовый спек и добавляешь —use-codec-name , и не надо писать с нуля 5 дней.
Deleted
( 15.06.19 14:50:07 MSK )
Ответ на: комментарий от Deleted 15.06.19 14:50:07 MSK

Так можно только с пакетами которые уже были кем-то собраны. Если речь про «что угодно», то часто готовых пакетов нет. Или нужно собрать новую версию чего-либо, когда старый спек и набор патчей не подходят.
Khnazile ★★★★★
( 15.06.19 14:53:07 MSK )
Ответ на: комментарий от Khnazile 15.06.19 14:53:07 MSK
Можно же собрать ту же версию ffmpeg, но с кодеками, которые были отключены.
Deleted
( 15.06.19 14:55:52 MSK )
Ответ на: комментарий от Deleted 15.06.19 14:55:52 MSK

Я не пробовал собирать конкретно ffmpeg, но часто, когда меняешь флаги сборки, rpmbuild потом начинает жаловаться на «installed but unpackaged files», или наоборот, на отсутствие каких-либо файлов. Приходится исправлять спек, и собирать снова. Чтобы потом обнаружить, что он жалуется на что-то другое. И так пока не соберется. С пакетами, которые только компилируются по несколько часов, на это реально можно убить пару дней.
Khnazile ★★★★★
( 15.06.19 15:00:20 MSK )
Последнее исправление: Khnazile 15.06.19 15:00:31 MSK (всего исправлений: 1)
Ответ на: комментарий от Khnazile 15.06.19 15:00:20 MSK
rpmbuild потом начинает жаловаться на «installed but unpackaged files»,
Значит не указаны/добавлены какие-то правила для новых опций сборки. В общем, надо выяснять почему так происходит. В дебах, например, тоже надо указывать новое в специальных файлах, иначе в пакет это не попадет.
Deleted
( 15.06.19 15:33:42 MSK )
Ответ на: комментарий от Khnazile 15.06.19 15:00:20 MSK
После исправления раздела %files можно быстро сделать rpmbuild -bl —short-circuit
iliyap ★★★★★
( 15.06.19 22:09:20 MSK )
Ответ на: комментарий от iliyap 15.06.19 22:09:20 MSK

В suse штатный способ сборки пакетов — через osc, а у нее я подобных ключей не нашел. А rpmbuild это для разработчиков, которым и так и эдак devel-пакеты в систему тащить.
Khnazile ★★★★★
( 15.06.19 22:18:52 MSK )

Спасибо за большое количество ответов. Но было же сказано в первом сообщении, что: * Рackman подключен * Смена поставщика для кодеков так же выполнена * Рекомендации по установке кодеков выполнены * ffmpeg-4 и chromium-ffmpeg-extra выполнено давно и не работает
MPEG-4 ASP support No ✘ H.264 support Yes ✔ H.265 support No ✘ Adaptive bit rate Dynamic Adaptive Streaming / MPEG-DASH No ✘ HTTP Live Streaming / HLS No ✘
Все указанные пакеты уже поставлены. Есть еще идеи? P.S. Мне все равно, что там на youtube, нет возможности смотреть видео лекции на stepic и некоторых других учебных ресурсов.
stslit
( 16.06.19 20:45:56 MSK ) автор топика
Ответ на: комментарий от stslit 16.06.19 20:45:56 MSK
Всё должно играться. Сбрось настройки браузеров. Проверь еще тут все ли галочки стоят https://www.youtube.com/html5
В html5test выбери save results и вставь сюда ссылку, вот так у меня https://html5te.st/5b95d8457bdba5b9
anonymous
( 16.06.19 22:28:13 MSK )
Попробуй установить в Chrome или Chromium плагин h264ify. Он установлен в браузере в Raspberry Pi, потому что GPU умеет только h264.
ZenitharChampion ★★★★★
( 16.06.19 22:30:56 MSK )
Ответ на: комментарий от stslit 16.06.19 20:45:56 MSK

Мне все равно, что там на youtube, нет возможности смотреть видео лекции на stepic и некоторых других учебных ресурсов.
А можно было вот с этого начать? Там наверняка нужен drm-плагин (widevine или как его), которого в местном chromium наверняка нет.
Khnazile ★★★★★
( 16.06.19 22:57:27 MSK )
Ответ на: комментарий от Khnazile 15.06.19 14:13:08 MSK

5 дней на спек — это либреофис что ли?
но в целом рпм, да под разные дистры — тот ещё гемор
Libffmpeg so как посмотреть список кодеков
Доброго времени суток.
1. Насколько качественно будет играть видео после покупки кодеков?
2. Какие форматы будет проигрывать (вместо обрывчатой инфо о «wmv» и «avi», прошу полный список пожалуйста). К примеру, можно ли будет смотреть онлайн YouTube?
Так как Raspberry Pi не сильно мощный ПК, то на многое не надеюсь, но по крайней мере AVI 720p — должно быть без лагов, иначе в покупе кодеков смысла не вижу
svsdval Posts: 133 Joined: Fri Jan 18, 2013 5:12 pm Location: Russia->Siberia->Altayskiy Kray->Biysk
Re: Качество воспроизведения видео после покупки кодеков.
Vetals wrote: 1. Насколько качественно будет играть видео после покупки кодеков?
т.к. будет разблокирован аппаратный декодер — сам понимаешь у них качество очень высокое.
Vetals wrote: 2. Какие форматы будет проигрывать (вместо обрывчатой инфо о «wmv» и «avi», прошу полный список пожалуйста). К примеру, можно ли будет смотреть онлайн YouTube?
Проигрывать будет любые форматы т.к. основа плееров на RPI ffmpeg+mplayer.
Vetals wrote: Так как Raspberry Pi не сильно мощный ПК, то на многое не надеюсь, но по крайней мере AVI 720p — должно быть без лагов, иначе в покупе кодеков смысла не вижу
avi и mkv — это просто контейнеры, нужно смотреть чем именно они были сжаты
то что сжато с помощью h264, 1080p тянет нормально — так как есть аппаратное ускорение.
думаю ты сам понимаешь что будет если его (аппаратного ускорения) не будет.
К тому же лучше в качестве дистрибутива юзать XBMC, тогда проблем будет меньше да и удобнее и симпотнее он на телеке смотрится =)
Debian/Blender/Gimp/Inkscape/Lmms/Fpc/Gcc crazy user
Makloth Posts: 3 Joined: Tue Jan 28, 2014 1:27 pm
Re: Качество воспроизведения видео после покупки кодеков.
Уважаемые коллеги, прям в мою тему.
Задача: воспроизведение полноэкранных роликов с вызовом из консоли.
Простейшие Иксы с openbox, mplayer + плейлист.
Пробовал 2 реализации
1. Android MicroPC MK-802III ARM 2X1.5Ghz, 1024Mb Ram Mali400
Проблема возникла после запуска mplayer в режиме -fs (программное скаллирование загружало проц 100% — результат 3-5 fps)
2. Неттоп Nvidia ION2 (аппаратное декодирование через vdpau)
Платформа рабочая, но громоздкая и энергоемкая.
В связи с этим хочется от R-PI стабильного воспроизведения видео на телевизор hd-ready (ролики h263-264, SD 480p)
Для этого требуется приобретения кодеков, проигрывателя?
svsdval Posts: 133 Joined: Fri Jan 18, 2013 5:12 pm Location: Russia->Siberia->Altayskiy Kray->Biysk
Re: Качество воспроизведения видео после покупки кодеков.
Приобретение кодеков для H.264 не требуется, 1080p тянет в лёгкую, (по идее должен тянуть и MPEG4 — но не проверял т.к. всё смотрю в mkv с h264 720/1080p ) — учтите что нужно брать быструю флешку.
Debian/Blender/Gimp/Inkscape/Lmms/Fpc/Gcc crazy user
Vetals Posts: 46 Joined: Thu Feb 28, 2013 10:37 am Location: Eastern Europe
Re: Качество воспроизведения видео после покупки кодеков.
Я всё еще не покупал кодеки, и теперь уже врядли буду покупать.
По нескольким причинам:
— Оформление кредитной карты в среднем $5 ( Я не жлоб, но сейчас на счету каждая копейка).
— Необходим аккаунт в пэйпэл. Конечно я читал ихнюю политику конфиденциальности и бла бла бла, но в реальности, никто не знает как используются все данные в пэйпале.
— Если попросить сторонние обменные компании за WebMoney приобрести эти кодеки, то этот способ еще дороже чем озвученные выше.
Недавно я попросил подключить нормальные платежные системы для стран СНГ, а модер подумал что я прошу только за Россию, цитата:
It isn’t a big problem for the vast majority of people who buy them.
The Foundation, a UK based charity, doesn’t have the time or money to link up with every payment system on the internet. So they have to use what is the most common worldwide, rather than payment companies in every single country of the world that buys Pi’s.
Покупка кодеков не является большой проблемой для большинства людей которые покупают эти кодеки.
Благотварительная Британская организация не имеет времени или денег чтобы подключить каждую платёжную систему интернета. Поэтому они выбрали наиболее популярную платёжную систему которая используется по всему миру, а не такую которая предлагает услуги только одной стране.
Извините.
(Перевод мой, литературный, но не дословный).
Так что, проще либо «забить» на эти кодеки или ( да простит сообщество) подобрать ключ, ибо в моём случае я реально имею на это право, так как брал Пай у перекупщиков, но за те же деньги мне бы хватило на 2 платы модельки Б, плюс, хватило бы еще на «сходить в супермаркет и купить чего нибудь съедобного».
LKA Posts: 189 Joined: Thu Jul 11, 2013 1:20 pm
Re: Качество воспроизведения видео после покупки кодеков.
самостоятельно установите расбиан и посмотрите в
/opt/vc/src/hello_pi/hello_video/test.h264
у меня на данный момент это видео с характеристиками
Разрешение экрана 1920 x 1080
Соотношение сторон 1.77778
Формат H264
Кадров в секунду 25.000
Выбранный кодек ffh264
кажет без покупки кодеков и проблем, так что если вы создадите свои ролики с теми же характеристиками, то и работать будет так же.
зы: родной omxplayer работает без иксов, заскриптовать непрерывный показ видео из какого-то определенного каталога — дело 7 минут и 7 строк.
Vetals Posts: 46 Joined: Thu Feb 28, 2013 10:37 am Location: Eastern Europe
Re: Качество воспроизведения видео после покупки кодеков.
LKA
Да, Вы правы. Огромное спасибо за подсказку.
H264 БЕЗ КОДЕКОВ — играет без проблем.
В консоли надо всего лишь перейти в нужную папку и прописать
omxplayer "Мой фильм 1.avi"
(т.е. русские названия тоже понимает).
Для непрерывного просмотра одного фильма за другим, создать bash скрипт и вписать несколько раз:
omxplayer "Фильм 2010.avi" omxplayer "Фильм 2011.avi" omxplayer "Фильм 2012.avi" omxplayer "Фильм 2013.avi"
Сохранить и затем вызвать этот баш скрипт.
В условиях недоступности другого ПК, можно конвертировать видео других форматов в Н264 прямо на Расберри Пай. Это будет долго. И чтобы хватало ресурсов на другие нужды (например музычку послушать), рекомендую запускать процесс конвертирования с пониженным приоритетом:
nice -n 19 ffmpeg бла бла бла
Как кодировать видео других форматов внутри ffmpeg ( и screen , если хочется закрыть консоль конвертирования ) — можно найти в интернете.
svsdval Posts: 133 Joined: Fri Jan 18, 2013 5:12 pm Location: Russia->Siberia->Altayskiy Kray->Biysk
Re: Качество воспроизведения видео после покупки кодеков.
Vetals wrote: LKA
Для непрерывного просмотра одного фильма за другим, создать bash скрипт и вписать несколько раз:
omxplayer "Фильм 2010.avi" omxplayer "Фильм 2011.avi" omxplayer "Фильм 2012.avi" omxplayer "Фильм 2013.avi"
Если вы не собираетесь делать плейлист, тогда можно обойтись одной строчкой
find /path2avi/ -name "*.avi" -exec mplayer <> \;
проиграет все avi файлы, и завершит своё выполнение
Если нужно проигрывать постоянно:
while true; do `find /path2avi/ -name "*.avi" -exec mplayer <> \;`; sleep 1; done;
Если нужно произвести ещё какие либо расчёты до или после тогда уже будет выглядеть так:
IFS=$'\n'; while true; do for i in `find /path2avi/ -name "*.avi"`; do echo "Start play: $i"; mplayer "$i"; echo "play:$i done. "; done; done;
unixforum.org
У меня Mandriva 2007 Spring.
При просмотре HDTV фильма (пробовал и Totem, и KMPlayer), появляются зеленые артефакты по бокам экрана, и очень плохого качества звук.
В Win XP тот же фильм все ок.
Для Win есть Klite codec megdapack.
Есть ли аналог для Linux пакета со всеми кодеками для звука и видео?
З.Ы. Систему ПОЛНОСТЬЮ обновил -> проблема не в этом. Как думаю проблема в кодеках.
Если будете давать ссылки на дистр, пжлст, напишите еще как устанавливать (совсем недавно поставил Linux).
Спасибо сказали:
Kido Сообщения: 949 Статус: Космический Засланец ОС: ArchLinux x86_64 Current Контактная информация:
Re: Кодеки для Linux
Сообщение Kido » 16.01.2008 00:06
w32codec стоят? Если нет, то в поиск по репозитарию.
Спасибо сказали:
_beast Сообщения: 77 ОС: linux 2.6
Re: Кодеки для Linux
Сообщение _beast » 16.01.2008 01:41
Спасибо сказали:
linmm Сообщения: 18
Re: Кодеки для Linux
Сообщение linmm » 16.01.2008 02:43
Заранее прошу простить за ламерство, Линукс стоит с прошлой пятницы.
(Если подскажите литературу, буду ОООЧЕНЬ рад!)
2Kido:
Искал в Rpmdrake 2007 (заодно узнаю, там ли искал))
Там ничего нет.
Стал искать пакет с этим названием на www.rpmfind.net
Нашел: ftp://rpmfind.net/linux/PLD/current/dists. pre7-3.i686.rpm
Как скачал, система предложила установить. Я согласился. После этого выдала:
«Некоторые запрошенные пакеты не согут быть установлены:
w32codec-0.90pre7-3.i686.rpm (из-за неудовлетворенности rpm-building tools)
Все равно продолжить установку?»
Нажал «Да».
Поискал вроде как установленный пакет в Rpmdrake 2007. Нет там ничего. (может не там я ищу. )
Артефакты остались.
Что делать дальше?
Заранее прошу простить за ламерство, Линукс стоит с прошлой пятницы.
(Если подскажите литературу, буду ОООЧЕНЬ рад!)
2_beast:
Скачал пакеты по одному KGet’ом (кто научит по-другому, скажу спасибо!)).
Только я не знаю как их устанавливать. И потом, . даже если вы скажете команду, то ее для каждого файла вводить.
RPM я раньше устанавливал двойным щелчком мыши и выбором «установить», теперь открываются в архиваторе Файл-Роллер и не устанавливаются.
Что делать дальше?
Спасибо сказали:
Ilja Сообщения: 349 ОС: ALTLinux Branch 4.1 Контактная информация:
Re: Кодеки для Linux
Сообщение Ilja » 16.01.2008 02:53
1. Зависимости пакетов желательно удовлетворять. Избавляет зачастую от граблей.
2. дополнительные репозитарии подключены? там поиск делал? rpm-building tools там не попадалось?
3. проверить установлен ли пакет rpm -qa|grep w32
Обычно первый совет наступившему на грабли — наступить еще раз и сравнить ощущения.
Советы по наступанию на грабли — JID: ilya.raskin@jabber.se
Спасибо сказали:
linmm Сообщения: 18
Re: Кодеки для Linux
Сообщение linmm » 16.01.2008 02:59
2_beast
Открыл Rpm’ы в Инсталляторе программ.. Пишет:
«Несовместимая архитектура для [/home/user/Desktop/Codecs/mplayer-codecs-extra-20061022-1.x86_64.rpm]»
Ой, еще хуже теперь.
Теперь другое пишет:
«база данных rpm заблокирована»
Что делать?
Спасибо сказали:
Ilja Сообщения: 349 ОС: ALTLinux Branch 4.1 Контактная информация:
Re: Кодеки для Linux
Сообщение Ilja » 16.01.2008 03:04
Попробуй войти в консоль рутом и дать команду типа
rpm -V -a
чтобы не читать кучу сообщений можно добавить |grep codecs
Обычно первый совет наступившему на грабли — наступить еще раз и сравнить ощущения.
Советы по наступанию на грабли — JID: ilya.raskin@jabber.se
Спасибо сказали:
linmm Сообщения: 18
Re: Кодеки для Linux
Сообщение linmm » 16.01.2008 03:16
2Ilja
1)Т.е. тот пакет требовал другой? И я тот, другой, должен найти и установить?
Мскал в http://www.rpmfind.net/
По запросу rpm-building ничего не нашел.
Больше источников не знаю.
2)Как я понял, дополнительные репозитарии можно задать в Параметры->Менеджер источников Rpmdraker’a.
Добавил ftp в Германии.
Ни один из пакетов там не нашел(((
3)Rpmdraker не нашел. (я правильно смотрю? Я в нем должен искать?)
На http://www.rpmfind.net/ его тоже нет..
Вообще, мне кажется, название пакета на форуме неверно отражается.. Там точно вертикальная линия в названии есть?
Спасибо сказали:
Minton Сообщения: 1588 Статус: openSUSE Localization Team ОС: openSUSE Tumbleweed x86-64
Re: Кодеки для Linux
Сообщение Minton » 16.01.2008 03:23
rpm -qa|grep w32 — это не название пакета, а команда консоли, вывод которой вам предлагается проанализировать и/или выложить сюда для всеобщего обозрения.
«Настоящие мужчины используют поиск» ©Goodvin
Спасибо сказали:
linmm Сообщения: 18
Re: Кодеки для Linux
Сообщение linmm » 16.01.2008 03:29
16.01.2008 03:04
Попробуй войти в консоль рутом и дать команду типа
rpm -V -a
чтобы не читать кучу сообщений можно добавить |grep codecs
Подумав минут 5, он ничего не выдал!
Пустое приглашение!
Спасибо сказали:
linmm Сообщения: 18
Re: Кодеки для Linux
Сообщение linmm » 16.01.2008 03:35
16.01.2008 03:23
rpm -qa|grep w32 — это не название пакета, а команда консоли, вывод которой вам предлагается проанализировать и/или выложить сюда для всеобщего обозрения.
Опять НИЧЕГО.
Для проверки себя на вшивость (на всякий случай) ввел «rpm -qa» ->куча пакетов.
Заходил под root.
Спасибо сказали:
linmm Сообщения: 18
Re: Кодеки для Linux
Сообщение linmm » 16.01.2008 12:10
А что же дальше.
Спасибо сказали:
Vityaz Сообщения: 487 ОС: MandrivaDebianUbuntuVistaXP
Re: Кодеки для Linux
Сообщение Vityaz » 16.01.2008 12:47
16.01.2008 12:10
А что же дальше.
единственный интуитивно понятный интерфейс — это соска.
_______________________________
у каждого свой любимый способ наступать на грабли
Спасибо сказали:
Minton Сообщения: 1588 Статус: openSUSE Localization Team ОС: openSUSE Tumbleweed x86-64
Re: Кодеки для Linux
Сообщение Minton » 16.01.2008 15:59
а потом всё-таки поставить пакет w32-codecs-all или как его там зовут
«Настоящие мужчины используют поиск» ©Goodvin
Спасибо сказали:
Ilja Сообщения: 349 ОС: ALTLinux Branch 4.1 Контактная информация:
Re: Кодеки для Linux
Сообщение Ilja » 17.01.2008 00:31
16.01.2008 03:35
Опять НИЧЕГО.
Уже что-то!
Значит этот косячный пакет в систему не установился, или установился до того криво, что сама система об этом не знает.
Вот это установить попробуй.
Лучше, мне кажется, это делать из консоли.
Зайдешь в папку с покетом и в терминале от рута rpm -ihv .
Вывод кинь сюда.
Обычно первый совет наступившему на грабли — наступить еще раз и сравнить ощущения.
Советы по наступанию на грабли — JID: ilya.raskin@jabber.se
Спасибо сказали:
_beast Сообщения: 77 ОС: linux 2.6
Re: Кодеки для Linux
Сообщение _beast » 17.01.2008 02:12
кодеки http://www.mplayerhq.hu/MPlayer/releases/codecs/ распаковываешь в /usr/lib/codecs или /usr/local/lib/win32 /usr/lib/win32 для mplayer’а по крайней мере.
Спасибо сказали:
linmm Сообщения: 18
Re: Кодеки для Linux
Сообщение linmm » 18.01.2008 14:55
17.01.2008 00:31
16.01.2008 03:35
Опять НИЧЕГО.
Уже что-то!
Значит этот косячный пакет в систему не установился, или установился до того криво, что сама система об этом не знает.
Вот это установить попробуй.
Лучше, мне кажется, это делать из консоли.
Зайдешь в папку с покетом и в терминале от рута rpm -ihv .
Вывод кинь сюда.
Все делал под root
Далее нашел пакет rpm-build-tools-4.0.2-109.i686.rpm
Далее нашел пакет rpm-build-4.0.2-109.i386.rpm
———————————————————
rpm -ihv rpm-build-4.0.2-109.i386.rpm
ошибка: Неудовлетворенные зависимости:
rpm = 4.0.2 нужен для rpm-build-4.0.2-109.i386.rpm
chrpath > = 0.9-1 нужен для rpm-build-4.0.2-109.i386.rpm
libdb-3.1.so нужен для rpm-build-4.0.2-109.i386.rpm
libdb.so.2 нужен для rpm-build-4.0.2-109.i386.rpm
librpm.so.0 нужен для rpm-build-4.0.2-109.i386.rpm
librpmbuild.so.0 нужен для rpm-build-4.0.2-109.i386.rpm
librpmio.so.0 нужен для rpm-build-4.0.2-109.i386.rpm
db1 нужен для rpm-build-4.0.2-109.i386.rpm
db3 нужен для rpm-build-4.0.2-109.i386.rpm
———————————————————
Установил chrpath, db1, db3 (после установки из последнего списка исчезли).
При попытке поставить rpm-4.0.2 система ругнулась и сказала ниже версии 4.4 не ставить.
Библиотек не нашел. Что с ними делать, не знаю.
Нашел rpm-4.4.2.2-2.fc7.i386.rpm
———————————————————
rpm -ihv rpm-4.4.2.2-2.fc7.i386.rpm
ошибка: Неудовлетворенные зависимости:
beecrypt > = 4.1.2 нужен для rpm-4.4.2.2-2.fc7.i386.rpm
libselinux.so.1 нужен для rpm-4.4.2.2-2.fc7.i386.rpm
———————————————————
Нашел beecrypt-4.1.2-8.i386.rpm
———————————————————
rpm -ihv beecrypt-4.1.2-8.i386.rpm
предупреждение: beecrypt-4.1.2-8.i386.rpm : Заголовок V3 DSA signature: NOKEY, key ID 4f2a6fd2
Подготовка. ##################################### [100%]
файл /usr/lib/libbeecrypt.so.6 из устанавливаемого пакета beecrypt-4.1.2-8 конфликтует с файлом из пакета lib
———————————————————
Соответственно, 3 вопроса:
1) Как ставить библиотеки и как иих найти?
2) Что делать с последним пакетом?
3) В Linux все так сложно ставится?