Как создать видеоплеер с использованием SDL 3 и ffmpeg (libav)
Автор: Codotaku
Загружено: 2026-01-12
Просмотров: 2938
Как создать видеоплеер с использованием SDL 3 и ffmpeg (libav)
Discord: https://discord.codotaku.com
Код: https://github.com/CodesOtakuYT/codot...
Simple DirectMedia Layer (SDL) — это кроссплатформенная библиотека для разработки программного обеспечения, предназначенная для предоставления уровня аппаратной абстракции для компонентов компьютерного мультимедийного оборудования. Разработчики программного обеспечения могут использовать её для написания высокопроизводительных компьютерных игр и других мультимедийных приложений, которые могут работать на многих операционных системах, таких как AmigaOS, Android, iOS, Linux, MorphOS, macOS и Windows.
SDL управляет видео, аудио, устройствами ввода, потоками, загрузкой разделяемых объектов, компьютерными сетями и таймерами. Для 3D-графики библиотека может работать в контекстах OpenGL, Vulkan, Metal или Direct3D11 (поддерживается также более старая версия Direct3D 9). Распространенное заблуждение заключается в том, что SDL — это игровой движок. Однако библиотека подходит для создания игр напрямую или может использоваться косвенно движками, построенными на её основе.
Библиотека написана на языке C и, возможно, в зависимости от целевой платформы, на C++ или Objective-C, и предоставляет программный интерфейс приложения на C, с возможностью привязки к другим языкам. Это свободное программное обеспечение с открытым исходным кодом, подчиняющееся требованиям лицензии zlib начиная с версии 2.0, а более ранние версии — лицензии GNU Lesser General Public License. В соответствии с лицензией zlib, SDL 2.0 свободно доступна для статической компоновки в проектах с закрытым исходным кодом, в отличие от SDL 1.2, хотя пользователь может заменить статически скомпонованную библиотеку на предоставленную им самим. SDL 2.0, выпущенный в 2013 году, стал значительным отходом от предыдущих версий, предлагая больше возможностей для аппаратного ускорения 3D-графики, но нарушая обратную совместимость; позже была выпущена библиотека-обертка, предназначенная для преобразования вызовов версии 1.2 в версию 2.0.
SDL широко используется в индустрии как в крупных, так и в небольших проектах. К 2010 году на веб-сайте библиотеки было размещено более 700 игр, 180 приложений и 120 демоверсий.
SDL поддерживает Emscripten (т.е. программы, работающие на веб-странице).
SDL 3 был выпущен как стабильная версия в январе 2025 года. Он имеет руководство по миграции и поддержку инструментов Coccinelle для облегчения перехода на новую основную версию. SDL 3 предлагает новый способ управления точкой входа вашей программы, и вы можете дополнительно управлять выполнением вне фреймворка.
FFmpeg — это бесплатный проект с открытым исходным кодом, состоящий из набора библиотек и программ для обработки видео, аудио и других мультимедийных файлов и потоков. В его основе лежит сам инструмент командной строки ffmpeg, предназначенный для обработки видео- и аудиофайлов. Он широко используется для транскодирования форматов, базового редактирования (обрезка и конкатенация), масштабирования видео, эффектов постобработки видео и соответствия стандартам (SMPTE, ITU).
FFmpeg также включает в себя другие инструменты: ffplay, простой медиаплеер, и ffprobe, инструмент командной строки для отображения информации о медиафайлах. Среди включенных библиотек — libavcodec, библиотека аудио/видеокодеков, используемая многими коммерческими и бесплатными программными продуктами, libavformat (Lavf), библиотека мультиплексирования и демультиплексирования аудио/видеоконтейнеров, и libavfilter, библиотека для улучшения и редактирования фильтров с помощью графа фильтров, подобного GStreamer.
FFmpeg является частью рабочего процесса многих других программных проектов, а его библиотеки составляют основу таких программных медиаплееров, как VLC, и включены в ядро обработки YouTube и Bilibili. В него входят кодировщики и декодеры для многих аудио- и видеоформатов, что делает его очень полезным для транскодирования распространенных и редких медиафайлов.
FFmpeg распространяется под лицензиями LGPL-2.1 или GPL-2.0, в зависимости от включенных опций.
Доступные форматы для скачивания:
Скачать видео mp4
-
Информация по загрузке: