Сборка ffmpeg на ma c с включенным videotoolbox становится непереносимой - PullRequest
1 голос
/ 21 января 2020

Если я сконфигурирую ffmpeg следующим образом:

./configure --disable-everything --enable-static --disable-shared \
--enable-gpl --enable-nonfree --enable-encoder=h264_videotoolbox,aac \ 
--enable-muxer=mp4 --enable-protocol=file --enable-libfdk-aac 
--enable-videotoolbox --disable-autodetect

, это сработает для моих целей (позволяет кодировать видео h264 с аудио c на videotoolbox Ma c - инструментарий Apple QSV) , но если я отправлю его на любой другой компьютер, кроме того, на котором он был построен, произойдет сбой с чем-то вроде этого:

dyld: Symbol not found: _kCVImageBufferTransferFunction_ITU_R_2100_HLG
  Referenced from: /Users/admin/Downloads/./ffmpeg
  Expected in: /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
 in /Users/admin/Downloads/./ffmpeg
Abort trap: 6

, если я перестрою его таким образом:

./configure --disable-everything --enable-static --disable-shared
--enable-gpl --enable-nonfree --enable-encoder=aac 
--enable-muxer=mp4 --enable-protocol=file --enable-libfdk-aac 
--disable-autodetect

поэтому, когда все остальное, кроме videotoolbox, удалено, оно успешно работает на любом другом компьютере, так что, очевидно, ffmpeg нужно нести то, чего нет, чтобы videotoolbox работал ...

На самом деле я создаю приложение C ++ с Staf c библиотеки ffmpeg, но объяснение того, что я делаю, будет очень длинным, и сообщение об ошибке будет точно таким же, если я запусту его на разных машинах, поэтому я лучше проиллюстрирую это на примере самой консольной утилиты ffmpeg.

Какие параметры конфигурации мне нужно сделать, чтобы сделать сборку ffmpeg переносимой, пожалуйста?

1 Ответ

0 голосов
/ 22 января 2020

Проблема оказалась в моей версии macos (10.14), упомянутый API - с 10.13, поэтому он не работал в более ранней версии, которую я пробовал. Исправлено перестройкой ffmpeg на 10.10.

...