FFmpeg
Материал из ALT Linux Wiki
(Различия между версиями)
Ilis (обсуждение | вклад) (→Особенности сборки) |
|||
Строка 16: | Строка 16: | ||
# Сборка unstable trunk ffmpeg предназначена для power users и для подготовки девелоперских версий зависимого софта. Никакой поддержки по сборкам из trunk не оказывается. | # Сборка unstable trunk ffmpeg предназначена для power users и для подготовки девелоперских версий зависимого софта. Никакой поддержки по сборкам из trunk не оказывается. | ||
+ | == Работа с ffmpeg svn == | ||
+ | |||
+ | <pre> | ||
+ | $ git svn fetch ffmpeg | ||
+ | $ git svn fetch libswscale | ||
+ | $ git checkout -f ffmpeg-trunk && git pull . refs/remotes/ffmpeg/trunk | ||
+ | $ git checkout -f libswscale-trunk && git pull . refs/remotes/libswscale | ||
+ | $ git checkout -f upstream | ||
+ | $ git pull . refs/heads/ffmpeg-trunk | ||
+ | $ git pull -s subtree . refs/heads/libswscale-trunk | ||
+ | $ git checkout -f <feature branch> | ||
+ | $ git pull . upstream | ||
+ | $ ... | ||
+ | $ git checkout -f master | ||
+ | $ git pull . <latest feature branch> | ||
+ | $ ... | ||
+ | $ PROFIT | ||
+ | </pre> | ||
[[Категория:Documentation]] | [[Категория:Documentation]] | ||
[[Категория:Packaging]] | [[Категория:Packaging]] |
Версия 13:31, 18 мая 2009
Особенности пакета
- Поддержка всех encoder’ов и decoder’ов из стандартно распространяемых в исходниках ffmpeg.
- Поддержка linamrnb/linamrwb через dlopen для проигрывания 3gp (patch branch amr)
- Поддержка xvmc для карт via openchrome (в версиях 11199-alt3 <= ffmpeg <= 16869-alt1).
Особенности сборки
Сборка ведётся из git при помощи git-svn.
- git-svn вытягивает trunk и бранч 0.5 в refs/remotes/ffmpeg/trunk и refs/remotes/ffmpeg/0.5 соответственно. Этим remote бранчам соответствуют локальные ffmpeg-trunk и ffmpeg-0.5
- git-svn вытягивает trunk проекта libswscale в refs/remotes/libswscale. Этому remote бранчу соответствует бранч libswscale-trunk.
- Бранчи ffmpeg-trunk и libswscale-trunk мержатся в бранч upstream, причем libswscale-trunk является subtree для бранча upstream. Этим достигается наличие вложенной истории libswscale относительно ffmpeg.
- В любой момент времени существует несколько feature/patch бранчей для более удобной поддержки того или иного патчсета, будь то alt-specific исправления или поддержка дополнительных кодеков. В данный момент таких бранчей два: alt, содержащий alt-specific исправления, и amr, содержащий код для поддержки библиотек libamrnb/libamrwb. Бранч xvmc считается устаревшим.
- Для каждого из feature/patch бранчей делается pull из «низлежащего» бранча. Отправная точка — бранч upstream, из него надо придти в бранч master. В данный момент схема merge’й такова:
- upstream ⇒ alt ⇒ amr ⇒ master, то есть все feature-патчи проходят мержи в алфавитном порядке.
- В бранче master относительно последнего feature-бранча содержатся только spec-файл и правила для gear. Любые другие исправления должны попадать в feature/patch бранчи.
- В данный момент в Сизифе поддерживается версия 0.5, всё вышеперечисленное применимо к бранчам с суффиксом -0.5.
- Сборка unstable trunk ffmpeg предназначена для power users и для подготовки девелоперских версий зависимого софта. Никакой поддержки по сборкам из trunk не оказывается.
Работа с ffmpeg svn
$ git svn fetch ffmpeg $ git svn fetch libswscale $ git checkout -f ffmpeg-trunk && git pull . refs/remotes/ffmpeg/trunk $ git checkout -f libswscale-trunk && git pull . refs/remotes/libswscale $ git checkout -f upstream $ git pull . refs/heads/ffmpeg-trunk $ git pull -s subtree . refs/heads/libswscale-trunk $ git checkout -f <feature branch> $ git pull . upstream $ ... $ git checkout -f master $ git pull . <latest feature branch> $ ... $ PROFIT