Linux формат h 264

Как установить декодер MPEG-4 AAC и декодер H.264?

Где взять MPEG-4 AAC-декодер и H.264-декодер.

Как их установить и воспроизвести мультимедиа?

Пакет ubuntu-limited-extras позволяет пользователям устанавливать возможность воспроизведения популярных несвободных форматов мультимедиа, включая форматы DVD, MP3, Quicktime и Windows Media.

Чтобы установить ubuntu-restricted-extras пакет:

Откройте терминал, нажав Ctrl + Alt + T .

Запустите эту команду:

Кроме того, вы можете установить пакет через Центр программного обеспечения , запустив его через Dash, выполнив поиск пакета и нажав « Установить» .

Также попробуйте установить libavcodec54 libav-tools и ffmpeg с помощью этой команды:

Поддержка декодирования MPEG-4 AAC обеспечивается gstreamer1.0-libav, а для декодирования H.264 используется gstreamr0.10-ffmpeg :

Для получения дополнительной информации ознакомьтесь с документацией по Ubuntu .

Другие ответы, кажется, работают на более старых версиях, но сегодня, когда я устанавливал их на чистую установку Ubuntu 18.04, используя ответ Peachy, я получил много ошибок. Используя эти команды, я успешно установил их в Ubuntu 18.04 LTS.

К сожалению, ни одна из этих опций не работает в Ubuntu 16.04. Я получаю сообщение Python 3.5 для поиска MPEG-4 AAC в одном из видео, которое я пытаюсь воспроизвести. Ничто из вышеперечисленного не исправляет отсутствующий кодек.

Хороший обходной путь — установить VLC:

(или из центра программного обеспечения)

Обновление: найдено исправление:

Это заставило звук работать на Тотем (Видео)

Обновление: попробуйте перейти к пункту «Программное обеспечение и обновления» и установить флажок «Программное обеспечение ограничено авторскими или юридическими проблемами». Затем разрешите обновление Ubuntu после нажатия кнопки закрытия. Теперь вы должны быть в состоянии выполнить:

Вы также должны принять условия лицензионного соглашения, прежде чем продолжить.

Источник

Формат потока H.264

Обнаружил странную вещь: некоторые файлы, содержащие поток h264 (напр. если поток создан mencoder/x264) при дампе видеопотока дают вполне воспроизводимый файл (mplayer и ffmpeg его берут, а file опознаёт как JVT NAL sequence, H.264 video @ L 13. Некоторые же (напр. скачанный с tomsk.fm flv) воспроизводиться не хотят: file их не опознаёт, а mplayer видит всякие непонятные форматы. ffmpeg с -f h264 пытается его воспроизвести, но:

Может потому, что -f должен быть flv?

Что выдаёт ffprobe без левых опций?

Какую информацию нужно добавить в поток, чтобы он был воспроизводимым?

Не нужно никакого колдунства и ковыряния. В общем случае нужно элементарные медиапоток(и) просто передавать в медиаконтейнере, а не «голышом».

Эвристики, парсят пофремово.

Так я не flv, а голый h264 ему подаю.
Конечная цель — прикрутить этот кодировщик к jitsi (sun4i с софтверным кодированием не справляется, а при низкой частоте кадров камера ничинает выдавать неверный буфер). А для этого надо разобраться с форматом потока получше. Ну и конечно хочется получить файл такого же типа, как и выдаёт x264. Медиаконтейнеры — это хорошо, но если есть возможность обойтись без них — ещё лучше.

Но и поток с кодера записан по фреймово.
В коде первые 4 байта — размер кадра, после них передаётся кадр

Читайте также:  Аналог ножниц для linux

Источник

Быстрое кодирование видео в Linux c Nvidia NVENC с SDK 7.5 и ffmpeg 3.0.2 на Nvidia GTX 960/970/980

Данная статья была написана по мотивам статьи Эффективное кодирование видео в Linux c Nvidia NVENC: часть 1, общая, однако имеет свои особенности и в отличие от оригинальной статьи, на момент написания которой не было выпущено патча, о котором пойдет речь дальше, я применил переработанный патч Nvidia Acceleration к FFmpeg 3.0.2, получив помимо энкодера nvenc еще и быстрый фильтр ресайза — nvresize.

В итого я получил возможность аппаратно кодировать видео в H.264 и HEVC при помощи видеокарты Nvidia GTX 960 на достаточно слабом компьютере (Xeon L5420) со скоростью (для H.264), превышающей возможности данного процессора до 10 раз (и в 3 раза относительно Core i7)! Причем на моем любимом Debian 8 Jessie.

Технология

Nvidia NVENC это технология, обеспечивающая кодирование видео в H.264 и HEVC на вычислительных мощностях GPU. Важное замечание: сколь-нибудь качественное и быстрое кодирование на момент написания статьи (май 2016) могут обеспечить только карты второго поколения Maxwell, и для десктопных это: GM206 (GTX 950, GTX 960), GM204 (GTX 970 и GTX 980) (для справки: есть еще дорогие проф.линейки Nvidia Tesla/Quadro/GRID, полный перечень можно найти здесь). Причем NVENC модуль работает с одинаковой скоростью на всех картах и количество CUDA ядер не влияет на производительность, как бы странно это не звучало, поэтому брать старшие версии имеет смысл только если платформа используется (помимо кодирования) для игр, даже более того, карты на GM206 целесообразнее т.к. помимо энкодера, получили еще и аппаратный HEVC декодер. Важное примечание: вся линейка GeForce имеет лицензионное ограничение в 2 одновременных потока. Его можно попробовать обойти методом, указанным во второй части статьи YourChief

Реализация (FFmpeg)

Все многообразие реализаций Nvidia CUDA можно посмотреть по ссылке. От себя хочу сказать что для видео наиболее распространенным является популярный инструмент — FFmpeg. Его мы и будем использовать.

Аппаратное обеспечение

0.7 Гб.

  • Видеокарта: любая видеокарта Nvidia 900 Series (Рекомендую GM206: GTX 950, GTX 960 или GM204: GTX 970, GTX 980). 2 Гб или 4 Гб, геймерская или нет — не важно! Главное, следите за габаритами и учтите что у всех моделей GTX 960 что я видел, дополнительное питание подключается сверху.
  • БП ATX с доп.коннектором питания (6 пин для нашей задачи хватит). Рекомендую мощность не менее 400 Вт.
  • Источник

    Как установить декодер h.264?

    Вы можете просто использовать приложение запуска Ubuntu для запуска Kodi как автономного. В поле имени введите имя запуска, например Kodi. В поле команды поставьте «-d 5 —стандарт -fs». Чтобы выйти из Kodi в Ubuntu Desktop, нажмите на значок выхода в Kodi в левом нижнем углу главного экрана Kodi.

    7 ответов

    Для воспроизведения кодированных видео h.264 соответствующий декодер поставляется со следующей библиотекой:

    Я думаю, что это часть пакета gstreamer-plugins-bad. Если вы ищете это в Software Center, он должен появиться. Возможно, вам нужно активировать репозиторий multiverse (запустите Software & amp; Sources и отметьте соответствующее поле для этого).

    После того, как вы установили пакет, Movie Player должен иметь возможность воспроизводить файл.

    Установка gstreamer0.10-ffmpeg из PPA, как описано ниже, разрешила это для меня.

    Читайте также:  Как выделить диск для линукс

    У меня была такая же проблема с воспроизведением видео. Видеопроигрыватель хотел скачать декодер mpeg-4 acc и декодер h.264, но этого не произошло по юридическим причинам (если я правильно понял, что было написано в окне, что появляется после того, как компьютер пытался загрузить упомянутые программы).

    После того, как я отключил Software & amp; обновления -> Программное обеспечение Ubuntu -> «unclick». Программное обеспечение, ограниченное авторскими или юридическими вопросами (multiverse), все снова начинает работать. (Я имею в виду, что после этой операции pc загружает то, что ему нужно, и что он начал работать).

    Источник

    Linux формат h 264

    На сегодняшний момент самым поддерживаемым железом кодеком для высококачественного видео является H.264 (AVC). Самая лучшая программа кодирования видео в H.264 — это x264 (лучшая в смысле качества получаемого видеопотока).

    Но исходный видеопоток для кодирования H.264 надо как-то получить. Очень удобная программа для получения видеопотока, по моему мнению — это Avisynth. Точнее, это даже не программа, а библиотека, с которой могут (или не могут) работать другие программы. С помощью Avisynth можно легко делать подвыборку кадров, наложение и склеивание видеопотоков и пр. Делается это написанием соответствующих скриптов. Прелесть Avisynth состоит в том, что подобные преобразования видеопотоков происходят без потери информации: Avisynth не применяет сжатия с потерями к кадрам, предоставляя заниматься этим кодировщику.

    Одно неудобно: Avisynth существует только под Windows. А нам это чудо не нужно: нам надо кодировать под Linux. Но Avisynth всё равно хочется использовать. Ведь Avisynth, на самом деле, соответствует UNIX-way, а то, что он написан для Windows — это ошибка природы ( шутка ).

    Способов 3:

    1. Запустить Windows в виртуалке и кодировать там. Этот способ не очень производительный, как показала практика
    2. Запускать виндовую версию x264 (x264.exe) через wine прямо под Linux. Этот способ существенно быстрее предыдущего, и я им пользовался до недавнего времени. Для удобства лучше всё-таки сначала установить через виртуалку на разделяемой папке программу MeGUI, которая скачивает последние версии всех нужных для подготовки видеопотока программ, и в которой можно подготовить простой вариант скрипта для Avisynth
    3. Использовать родную, линуксовую версию x264, собранную вручную с дополнительными оптимизациями под наш процессор. Этот способ показал наивысшую производительность. О нём я и расскажу ниже.

    Итак, как же кодировать способом 3? Опишу поэтапно. Не пугайтесь! Этапы 2-4 и частично 1 надо пройти только один раз.

    Этап 1. Подготовка видеопотока

    Сначала нужно написать скрипт Avisynth и проверить его работу. Для этого рекомендую установить в виртуалке на разделяемую папку программу MeGUI, через которую также установить все программы для подготовки видеопотока (например, DGIndex для получения видеопотока из DVD для использования в AviSynth). Я не буду тут подробно описывать механизм получения рабочего скрипта Avisynth: это неоднократно описывалось в интернетах. Предположим, что вы, наконец, получили нужный вам скрипт и назвали его v.avs.

    Этап 2. Установка Avisynth в Linux

    Мы будем использовать Avisynth при помощи wine, поэтому нам придётся установить его и под Linux, а не только в виртуалке. Это делается очень просто: достаточно запустить инсталляционную программу через wine.

    Читайте также:  Драйвер ядра virtualbox linux либо не загружен либо настроен неправильно

    Для работы Avisynth из-под wine потребуется дополнительно установить некоторые библиотеки из Visual C++ 6. Это делается так:

    Кроме того, некоторые плагины для Avisynth требуют наличия некоторых других библиотек, так что можно сразу установить еще и это:

    Этап 3. Установка x264 в Linux

    Теперь установим кодировщик в H.264 — программу x264. В различные дистрибутивы Linux эта программа уже включена, и она нам в принципе подойдёт. Но обычно в дистрибутивы входит не самая последняя версия x264, да и собрана она с недостаточными оптимизациями. Поэтому лучше скачать исходные тексты x264 и собрать эту программу самостоятельно. Я не буду описывать процесс сборки x264: просьба погуглить самостоятельно. make install делать нет необходимости: можно сразу после сборки запускать собранный бинарник x264 из каталога, где он собирался. При сборке советую использовать опцию GCC -march, указав именно ваш тип процессора. Также полезна будет опция -funroll-loops. Но вообще тут большое поле для экспериментов. От скорости работы программы x264 напрямую зависит скорость кодирования, так что чем больше вы выгадаете в скорости дополнительными опциями оптимизации при сборке, тем лучше.

    Этап 4. Установка Avs2YUV

    Теперь будем устанавливать Avs2YUV. Зачем это нужно? Дело в том, что сборка x264 для Windows (программа x264.exe) умеет работать со скриптами Avisynth, открывая их библиотеками Avisynth. Но наша супероптимизированная линуксовая версия x264 не умеет работать напрямую со скриптами Avisynth, так что нельзя просто указать x264 использовать в качестве входного видеопотока наш файл v.avs. К счастью, x264 может работать со входными потоками YUV4MPEG, а программа Avs2YUV как раз тем и занимается, что по скрипту Avisynth выдаёт поток YUV4MPEG.

    Программа Avs2YUV тоже написана для Windows (иначе и быть не может, т.к. она должна использовать библиотеки Avisynth). Установка её сводится к простой распаковке архива.

    Этап 5. Кодирование

    Наконец, у нас всё подготовлено для кодирования!

    Конечно, нужно подобрать параметры кодирования, но об этом я говорить не буду, а лучше направлю вас на хорошую статью.

    Если вы выбрали кодирование в два прохода, то вот приблизительный скрипт для этого:

    Как видно, программа avs2yuv выдаёт несжатый видеопоток на стандартный выход (stdout), а x264 принимает этот поток на стандартном входе (stdin). При этом для x264 обязательно требуется указывать параметр —demuxer y4m, чтобы x264 понял, что входной поток — YUV4MPEG. К сожалению, программа x264 не может автоматически определить количество кадров (фреймов) по такому входному потоку, поэтому не будет отображать приблизительное время до завершения кодирования. Если же вы попытаетесь сохранять вывод avs2yuv в отдельный файл, чтобы потом обработать этот файл x264, то обнаружите, что этот файл будет слишком объёмным, ведь вспомним, что Avisynth выдаёт нам несжатый видеопоток. Поэтому avs2yuv надо связывать с x264 без промежуточных файлов. К счастью, программа avs2yuv печатает на нашей консолечке количество кадров, чем мы и воспользовались, запустив avs2yuv первый раз в broken pipe и сохранив распечатанное на stderr число кадров в переменной NFRAMES. Передавая далее число кадров в x264, мы начинаем видеть время до завершения кодирования.

    Запускать скрипт желательно с низким приоритетом, чтобы кодирование не мешало работе за компьютером. Делается это при помощи программы nice.

    Источник

    Оцените статью