aclap-dev / vdhcoapp

Companion application for Video DownloadHelper browser add-on
GNU General Public License v2.0
1.72k stars 280 forks source link

Support Apple Silicon on macOS #115

Closed sharp-pixel closed 1 year ago

sharp-pixel commented 2 years ago

Currently, macOS support is for x86_64 architecture and building for arm64 (Apple Silicon) is non-trivial due to multiple project dependencies. This architecture should be supported and releases should include an Apple Silicon version.

KrasnayaPloshchad commented 2 years ago

I think this could be done by integrating FFmpeg 5.x release.

macbugs commented 1 year ago

When aggregating the components of a 1.25 hour DASH streaming video after download, the process is surprisingly slow — it takes over 2.5 hours with all 8 cores operating at 100% load. MacYTDL finished the job in a few minutes, but did not parse the page to find the embedded URL -- I had to extract it manually.


GitHub - ssut/ffmpeg-on-apple-silicon: Build ffmpeg for ARM-based Apple Silicon Macs

GitHub - Vargol/ffmpeg-apple-arm64-build: Build script for ffmpeg targeting the latest open source video codecs running on macOS using Apple's M1 processor.

https://gitlab.com/martinr92/ffmpeg


The MacYTDL application can install the ARM64 version of FFMPEG. It can also be installed via HomeBrew — but in either case, VideoDownloadHelper will still use the bundled Intel version at /Applications/net.downloadhelper.coapp.app/Contents/MacOS/converter/build/mac/64

“MacYTDL can now install ARM64 version of FFmpeg/FFprobe and the user can switch to the Intel version if they wish”

How to tell the difference between FFMPEG versions on Mac:

Method 1:

install Apparency and invoke QuickLook from the Finder on the FFMPEG binary

Screenshot 2023-02-14 at 21 23 00 Screenshot 2023-02-14 at 21 22 13

Method 2:

In Terminal, navigate to the folder which contains the version you want to check and run the binary with no arguments:

% which ffmpeg

(Homebrew version) /usr/local/bin/ffmpeg

(bundled version) /Applications/net.downloadhelper.coapp.app/Contents/MacOS/converter/build/mac/64/ffmpeg

cd [path] % ./ffmpeg

( Intel output )

ffmpeg version N-109856-gf8d6d0fbf1-tessus  https://evermeet.cx/ffmpeg/  Copyright (c) 2000-2023 the FFmpeg developers
  built with Apple clang version 11.0.0 (clang-1100.0.33.17)
  configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay

( Apple Silicon output )

ffmpeg version 5.1.2-https://www.martin-riedl.de Copyright (c) 2000-2022 the FFmpeg developers
  built with Apple clang version 14.0.0 (clang-1400.0.29.102)
  configuration: --prefix=/Volumes/ffmpeg_arm64/out --enable-gpl --pkg-config-flags=--static --extra-version='https://www.martin-riedl.de' --enable-gray --enable-libxml2 --enable-libfreetype --enable-fontconfig --enable-libbluray --enable-libass --enable-libzvbi --enable-libaom --enable-libopenh264 --enable-librav1e --enable-libsvtav1 --enable-libvpx --enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libtheora
paulrouget commented 1 year ago

This is fixed in the next release. Hope to announce that next week.