/usr/local/bin/ffmpegをUSBにコピーし、そのUSBをffmpegのインストールされていないPCに差し込んで、ffmpegを実行すると以下のようなエラーが発生します。どのようにすれば実行できるでしょうか?
console
1$ USB_path/ffmpeg -i sample.mp4 2dyld: Library not loaded: @loader_path/libavdevice.58.dylib 3 Referenced from: USB_path/ffmpeg 4 Reason: image not found
ちなみに実際に実現したいのは、subprocessモジュールを用いてffmpegを利用するPythonファイルをPyInstallerで単一実行ファイルにして配布することです。
###調べたこと
- エラーの内容を調べたところ、拡張子.dylibはダイナミックライブラリのことで、プログラムなどの実行時に必要に応じてロードされる、複数のアプリケーションが共有するライブラリでした。
現在、どうやってロードするのかを調べています。
- 自分のPCのコンソールでffmpegを実行すると(以下)、libavdeviceや58というバージョンらしき数字が出力されているのが確認できました。
console
1$ ffmpeg 2ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers 3 built with Apple clang version 12.0.0 (clang-1200.0.32.28) 4 configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1_9 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack 5 libavutil 56. 51.100 / 56. 51.100 6 libavcodec 58. 91.100 / 58. 91.100 7 libavformat 58. 45.100 / 58. 45.100 8 libavdevice 58. 10.100 / 58. 10.100 #この行 9 libavfilter 7. 85.100 / 7. 85.100 10 libavresample 4. 0. 0 / 4. 0. 0 11 libswscale 5. 7.100 / 5. 7.100 12 libswresample 3. 7.100 / 3. 7.100 13 libpostproc 55. 7.100 / 55. 7.100 14Hyper fast Audio and Video encoder 15usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... 16 17Use -h to get full help or, even better, run 'man ffmpeg'
現在、どうやってこのlibavdevice.dylibをロードしているのかを調べています。
###環境
ffmpegダウンロード済みのPC:
macOS Catalina
バージョン10.15.7
機種MacBook Pro
ffmpeg未ダウンロードのPC:
macOS High Sierra
バージョン10.13.6
機種MacBook Pro
ffmpeg 4.3.1_9
(2021/1/19 16:00)
新しいエラー(2021/1/20 10:30追記)
console
1$ ffmpeg 2dyld: lazy symbol binding failed: Symbol not found: ____chkstk_darwin 3 Referenced from: /Volumes/ToyMemory/videdi.app/Contents/MacOS/libavutil.56.dylib (which was built for Mac OS X 10.15) 4 Expected in: /usr/lib/libSystem.B.dylib 5 6dyld: Symbol not found: ____chkstk_darwin 7 Referenced from: /Volumes/ToyMemory/videdi.app/Contents/MacOS/libavutil.56.dylib (which was built for Mac OS X 10.15) 8 Expected in: /usr/lib/libSystem.B.dylib
「which was built for Mac OS X 10.15」というエラー内容から考えて、High Sierra 10.13.6では実行は難しいのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/19 09:43 編集
2021/01/19 09:53
2021/01/19 10:05
2021/01/19 10:18
2021/01/19 10:44 編集
2021/01/19 10:53
2021/01/20 01:33 編集
2021/01/20 10:32
2021/01/21 12:41 編集