MPlayer2

Бесплатно
Открытый исходный код
Linux

Сайт: github.com/astiob/mplayer2

MPlayer2 — это ответвление медиаплеера MPlayer, разработанное с целью модернизации архитектуры и улучшения производительности при воспроизведении аудио- и видеоконтента. Проект возник как попытка снять ограничения оригинальной кодовой базы MPlayer, добавить поддержку современных мультимедийных технологий и упростить интеграцию аппаратного ускорения и многопоточной обработки. MPlayer2 сохранил совместимость с большинством опций и форматов MPlayer, одновременно внося изменения в систему вывода, обработку декодеров и управление потоками ввода-вывода.

В процессе разработки основной упор делался на повышение стабильности при работе с большим количеством форматов и на снижение задержек при воспроизведении за счёт переработки планировщика задач и использования параллельной обработки. Проект активно использовался в ряде дистрибутивов и сборок, но в какой-то момент развитие прекратилось, а идеи и наработки MPlayer2 стали одной из отправных точек для создания и развития других медиаплееров, наиболее заметно — для проекта mpv, который унаследовал часть концепций и реализовал дальнейшую эволюцию кода.

  • Совместимость форматов: поддержка большинства форматов и кодеков, совместимых с MPlayer, включая контейнеры и потоки популярных мультимедийных стандартов.
  • Аппаратное ускорение: интеграция с механизмами аппаратного декодирования для снижения нагрузки на CPU и улучшения воспроизведения на слабых системах.
  • Многопоточность: переработанная архитектура для более эффективного использования многопоточных систем, что уменьшало пропуски кадров и улучшало плавность вывода.
  • Модульный вывод: более гибкая система вывода видео и аудио, позволяющая легче подключать новые back-end'ы и интегрироваться с графическими подсистемами.
  • Улучшенная синхронизация: механизмы для точной синхронизации аудио и видео, а также снижение джиттера при воспроизведении сетевых потоков.
  • Консольный интерфейс и скрипты: сохранение мощного командного интерфейса MPlayer с возможностью автоматизации и управления воспроизведением через скрипты.
  • Оптимизация ввода-вывода: переработка буферизации и чтения данных для более эффективной работы с локальными и сетевыми источниками.
  • Структура кода для форка: изменения, направленные на упрощение дальнейшего форкинга и интеграции новых компонентов сообществом разработчиков.
Подробнее