PDA

Показать полную графическую версию : Компиляция мультимедиа программ для Windows


deniums
03-02-2021, 20:36
Привет всем.

Я решил осваивать сборку под Windows и уже собрал x264.exe без всяких излишеств, а не как предлагают на офф. сайтах (https://artifacts.videolan.org/x264/release-win32/) (1.4 мб вместо 16-24 мб, т.к. без встроенного ненужного ffmpeg). И посему работает на XP.
Обо всем по порядку. Это что-то вроде Unix кросскомпиляции, но на машине Windows 7.
Устанавливаем Msys2.
https://www.msys2.org/ (x64)
или
https://sourceforge.net/projects/msys2/files/Base/i686/ (x86)
Репы можно посмотреть здесь (http://repo.msys2.org/msys/) или здесь (https://packages.msys2.org/package/).
Пришлось решить небольшую проблему с подписями:
https://www.msys2.org/news/#2020-06-29-new-packagers
Установка сборочных компонентов на примере i686 (используется роллинг pacman как в Arch):
pacman -Syu
pacman -S --needed base-devel mingw-w64-i686-toolchain
pacman -S cmake nasm yasm meson ninja ccache libtool automake m4 flex flexc++ bison bisonc++ git python-pip pkg-config python2 ruby nano subversion svn
GCC 10.2
Скачивание примерно 250 мб, установка 1.2 Гб.
Если что, стоят обновы windowsupdateagent 7.6.7600.320, kb4490628, kb4474419-v3.
Кстати, Python 3.9 уже дропнул поддержку Win7.

x264
Инструкция по сборке:
git clone https://code.videolan.org/videolan/x264.git
cd x264
./configure --help
./configure --enable-static --disable-bashcompletion --disable-opencl --bit-depth=8 --chroma-format=all --enable-strip --disable-swscale --disable-lavf --disable-ffms --disable-gpac --disable-lsmash
make
make install
Экзешник будет находиться в C:\msys32\usr\local\bin\x264.exe
Затем содержимое C:\msys32\usr\local\* можно удалить.
Дефолтный домашний каталог Msys: C:\msys\home\User (где User имя пользователя Windows)

x264 core 161 r3043 32 bit последний git на начало февраля 2021
Encoding только 8 бит (мне не нужны 10 бит), есть поддержка AviSynth. Работает в XP, Win7. Скорее всего в Vista и Wine.
Скачать (http://dl.free.fr/fitH4Zslg) (жмакайте Valider... если протухнет, ссылку перезалью, скажите куда лучше залить, чтобы не протухало)

DJ Mogarych
04-02-2021, 13:54
И это всё ради экономии в 20 мегабайт?
Весь этот софт для компиляции в сто раз больше весит.

deniums
04-02-2021, 14:36
DJ Mogarych
1. Софт для компиляции можно удалить (у меня сейчас в виртуалке), а бинарники останутся. Виртуалку, кстати, надо бы перенести на реальное железо, уж очень там долго.
2. Я обиделся на ffmpeg проект из-за хамского и пренебрежительного отношения в баг трекере. Поэтому захотел избавиться от их либ. В идеале ffmpeg заменить на libav (https://libav.org/download/). Не зря все-таки они его форкали. Больше не буду баг рапорты никому отправлять.
3. Интересно изучить компиляцию именно под Windows. Собираюсь также установить Visual Studio 2019. Интересно, сколько места займут x86 компоненты C и C++? В интернете пишут, что не менее 800 МБ. Не все же репаки делать.
4. Отвязка от ffmpeg библиотек позволяет запускать свежий x264.exe на XP. Код самой библиотеки стандарта C++98 (1998).

x262 (http://forum.oszone.net/thread-346242.html)
Инструкция:
git clone https://git.videolan.org/git/x262.git
cd x262
./configure --help
--enable-static --disable-opencl --bit-depth=8 --chroma-format=all --enable-strip --disable-swscale --disable-lavf --disable-ffms --disable-gpac --disable-lsmash --enable-win32thread
make
make install
mv /usr/local/bin/x264.exe /usr/local/bin/x262.exe

Сделал два бинарника. Один с posix threads model (требует libwinpthread-1.dll, есть в комплекте), он не запускается на XP. И с win32 threads model, этот бинарник работает на XP. И еще в комплекте i686 бинарник для Xenial. Есть поддержка Avisynth.
Скачать (https://www.upload.ee/files/12839393/x262.zip.html)

deniums
04-02-2021, 22:14
Я решил осваивать сборку под Windows »
Проект закрыт.

DJ Mogarych
05-02-2021, 09:55
Быстро вы охладели к этому делу.

Naki2
13-02-2021, 21:08
Visual Studio 2019
Интересно, сколько места займут x86 компоненты C++? »
Примерно 8 Гб: из них 2 Гб временного кэша (столько будет скачано из интернета) и 6 Гб будет установлено в итоге. Это если поставить галочку "разработка C++ приложений" и "совместимость с XP". Чтобы установщик корректно запустился, предварительно нужно установить все обновления (Win7) и .Net 4.8.
Visual Studio отправляет телеметрию при каждом запуске (проверял в Fiddler), несмотря на снятые галочки "проверять обновления" и "участие в программе улучшения качества".




© OSzone.net 2001-2012