Я пытаюсь построить x264 от источника на Ubuntu 32bit для того, чтобы преобразовать последовательность JPG или PNG изображений в mp4 видео: x264 site, sample imagesx264 Настройка связывание и строительные проблемы
загруженных двоичные файлы способны преобразовывать последовательность в MKV видео (или несколько других форматов), когда я запускаю эту команду:
./x264dist ~/Dev/x264emp/img/FLYOVER%4d.JPG -o abc.mkv
x264dist
является переименовано именем двоичного файла, я загрузить с сайта.
Однако, когда я захватить источник и компилировать с простой Configure:
$ ./configure --enable-shared --enable-static --enable-pic
platform: X86
system: LINUX
cli: yes
libx264: internal
shared: yes
static: yes
asm: yes
interlaced: yes
avs: avxsynth
lavf: no
ffms: no
mp4: no
gpl: yes
thread: posix
opencl: yes
filters: crop select_every
debug: no
gprof: no
strip: no
PIC: yes
bit depth: 8
chroma format: all
затем $ make
. Затем я использую двоичные файлы для запуска точно такую же команду, как описано выше, но есть эта ошибка:
./x264 ~/Dev/x264emp/img/FLYOVER%4d.JPG -o abc.mkv
raw [error]: raw input requires a resolution.
x264 [error]: could not open input file `/home/tmd/Dev/x264emp/img/FLYOVER%4d.JPG' via any method!
Похоже, он не может читать любой вход вообще. Но по крайней мере я все еще могу запустить --help
на этих двоичных файлах.
Тогда я понял, что загруженные двоичные файлы - это 3.5Mb
, а мои собственные результаты компиляции - в двоичных файлах 1.5Mb
.
Поэтому я просто хочу знать, какие конфигурации сборки используются официальной сборкой, и/или есть какая-либо зависимость, которую я пропускаю, что приводит к этой проблеме.
Причина, по которой я пытаюсь построить себя, потому что хочу портировать x264 lib в Javascript, используя Emscripten. Было решение с использованием FFmpeg, но мне кажется, что мне не нужна вся библиотека обработки видео, а только простой кодек H264. Поэтому мне нужно решить проблему configure/compile/linking, чтобы правильно ее портировать.
Возможно похожи https://stackoverflow.com/questions/19445075/how-to-configure-x264-build-before-running-make-on-os-x
Большое спасибо за информативный ответ. Я установил последний libav из источника. Затем перестройте все это.В результате теперь есть бинарные файлы размером 46 Мб x264. Он способен создавать последовательность изображений. Однако он слишком велик по сравнению с официальной сборкой 3.5Mb. Почему это так? Я принимаю ваш ответ. Но есть ли способ получить что-то близкое к официальной версии 3.5Mb? – Pie
Сначала убедитесь, что вы скомпилировали ffmpeg/libav без отладочной информации (--disable-debug) или разделите двоичный файл. Также официальные сборки x264 сжимаются с помощью UPX iirc. – nobody555
Отлично! Я попробовал, и теперь двоичные файлы уменьшены до 11 Мб (все еще немного выше официального). Затем я использую l-smash для mp4 (люди используют gpac, но мне не удалось). Все хорошо. Извините за то, что вы здесь, но что вы подразумеваете под «strip the binary»? – Pie