Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Видео и аудио: обработка и кодирование (http://forum.oszone.net/forumdisplay.php?f=45)
-   -   Компиляция мультимедиа программ для Windows (http://forum.oszone.net/showthread.php?t=347851)

deniums 03-02-2021 20:36 2948699

Компиляция мультимедиа программ для Windows
 
Привет всем.

Я решил осваивать сборку под Windows и уже собрал x264.exe без всяких излишеств, а не как предлагают на офф. сайтах (1.4 мб вместо 16-24 мб, т.к. без встроенного ненужного ffmpeg). И посему работает на XP.
Обо всем по порядку. Это что-то вроде Unix кросскомпиляции, но на машине Windows 7.
Устанавливаем Msys2.
https://www.msys2.org/ (x64)
или
https://sourceforge.net/projects/msys2/files/Base/i686/ (x86)
Репы можно посмотреть здесь или здесь.
Пришлось решить небольшую проблему с подписями:
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.
Скачать (жмакайте Valider... если протухнет, ссылку перезалью, скажите куда лучше залить, чтобы не протухало)

DJ Mogarych 04-02-2021 13:54 2948774

И это всё ради экономии в 20 мегабайт?
Весь этот софт для компиляции в сто раз больше весит.

deniums 04-02-2021 14:36 2948789

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

x262
Инструкция:
Код:

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.
Скачать

deniums 04-02-2021 22:14 2948839

Цитата:

Цитата deniums
Я решил осваивать сборку под Windows »

Проект закрыт.

DJ Mogarych 05-02-2021 09:55 2948867

Быстро вы охладели к этому делу.

Naki2 13-02-2021 21:08 2949962

Цитата:

Цитата deniums
Visual Studio 2019
Интересно, сколько места займут x86 компоненты C++? »

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


Время: 18:03.

Время: 18:03.
© OSzone.net 2001-