Skip to content

Commit

Permalink
try to support arm64 #1056
Browse files Browse the repository at this point in the history
but without ffmpeg
  • Loading branch information
mifi committed Mar 9, 2022
1 parent 90126d9 commit c0aabf5
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 15 deletions.
39 changes: 26 additions & 13 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
"start:frontend": "cross-env BROWSER=none PORT=3001 DISABLE_ESLINT_PLUGIN=true react-scripts start",
"start:electron": "wait-on http://localhost:3001 && electron .",
"icon-gen": "mkdirp icon-build build-resources/appx && node script/icon-gen.mjs",
"download-ffmpeg-mac": "mkdirp ffmpeg/darwin && cd ffmpeg/darwin && wget https://github.com/mifi/ffmpeg-build-script/releases/download/4.4.1-2/ffmpeg -O ffmpeg && wget https://github.com/mifi/ffmpeg-build-script/releases/download/4.4.1-2/ffprobe -O ffprobe && chmod +x ffmpeg && chmod +x ffprobe",
"download-ffmpeg-linux": "mkdirp ffmpeg/linux && cd ffmpeg/linux && wget https://github.com/mifi/ffmpeg-builds/releases/download/4.4.1/ffmpeg-release-amd64-static.tar.xz -O ffmpeg.xz && tar xvf ffmpeg.xz ffmpeg-4.4.1-amd64-static/ffmpeg ffmpeg-4.4.1-amd64-static/ffprobe --strip-components=1",
"download-ffmpeg-windows": "mkdirp ffmpeg/win32 && cd ffmpeg/win32 && npx download-cli https://github.com/mifi/ffmpeg-builds/releases/download/4.4.1/ffmpeg-n4.4.1-2-gcc33e73618-win64-gpl-4.4.zip --out . --filename ffmpeg.zip && 7z x ffmpeg.zip && npx shx mv ffmpeg-n4.4.1-2-gcc33e73618-win64-gpl-4.4/bin/ffmpeg.exe ./ && npx shx mv ffmpeg-n4.4.1-2-gcc33e73618-win64-gpl-4.4/bin/ffprobe.exe ./",
"download-ffmpeg-mac": "mkdirp ffmpeg/darwin-x64 && cd ffmpeg/darwin-x64 && wget https://github.com/mifi/ffmpeg-build-script/releases/download/4.4.1-2/ffmpeg -O ffmpeg && wget https://github.com/mifi/ffmpeg-build-script/releases/download/4.4.1-2/ffprobe -O ffprobe && chmod +x ffmpeg && chmod +x ffprobe",
"download-ffmpeg-linux": "mkdirp ffmpeg/linux-x64 && cd ffmpeg/linux-x64 && wget https://github.com/mifi/ffmpeg-builds/releases/download/4.4.1/ffmpeg-release-amd64-static.tar.xz -O ffmpeg.xz && tar xvf ffmpeg.xz ffmpeg-4.4.1-amd64-static/ffmpeg ffmpeg-4.4.1-amd64-static/ffprobe --strip-components=1",
"download-ffmpeg-windows": "mkdirp ffmpeg/win32-x64 && cd ffmpeg/win32-x64 && npx download-cli https://github.com/mifi/ffmpeg-builds/releases/download/4.4.1/ffmpeg-n4.4.1-2-gcc33e73618-win64-gpl-4.4.zip --out . --filename ffmpeg.zip && 7z x ffmpeg.zip && npx shx mv ffmpeg-n4.4.1-2-gcc33e73618-win64-gpl-4.4/bin/ffmpeg.exe ./ && npx shx mv ffmpeg-n4.4.1-2-gcc33e73618-win64-gpl-4.4/bin/ffprobe.exe ./",
"build": "yarn icon-gen && react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
Expand Down Expand Up @@ -157,11 +157,11 @@
],
"extraResources": [
{
"from": "ffmpeg/darwin/ffmpeg",
"from": "ffmpeg/darwin-${arch}/ffmpeg",
"to": "ffmpeg"
},
{
"from": "ffmpeg/darwin/ffprobe",
"from": "ffmpeg/darwin-${arch}/ffprobe",
"to": "ffprobe"
}
],
Expand Down Expand Up @@ -282,11 +282,11 @@
],
"extraResources": [
{
"from": "ffmpeg/win32/ffmpeg.exe",
"from": "ffmpeg/win32-${arch}/ffmpeg.exe",
"to": "ffmpeg.exe"
},
{
"from": "ffmpeg/win32/ffprobe.exe",
"from": "ffmpeg/win32-${arch}/ffprobe.exe",
"to": "ffprobe.exe"
}
],
Expand Down Expand Up @@ -397,20 +397,33 @@
"linux": {
"executableName": "losslesscut",
"extraResources": [
{
"from": "ffmpeg/linux/ffmpeg",
{
"from": "ffmpeg/linux-${arch}/ffmpeg",
"to": "ffmpeg"
},
{
"from": "ffmpeg/linux/ffprobe",
"from": "ffmpeg/linux-${arch}/ffprobe",
"to": "ffprobe"
}
],
"icon": "icon-build/app-512.png",
"target": [
"tar.bz2",
"AppImage",
"snap"
{
"arch": "x64",
"target": "tar.bz2"
},
{
"arch": "x64",
"target": "AppImage"
},
{
"arch": "x64",
"target": "snap"
},
{
"arch": "arm64",
"target": "tar.bz2"
}
]
},
"snap": {
Expand Down
4 changes: 2 additions & 2 deletions src/ffmpeg.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import i18n from 'i18next';
import Timecode from 'smpte-timecode';

import { pcmAudioCodecs, getMapStreamsArgs } from './util/streams';
import { getOutPath, isDurationValid, getExtensionForFormat, isWindows, isMac, platform } from './util';
import { getOutPath, isDurationValid, getExtensionForFormat, isWindows, isMac, platform, arch } from './util';

const execa = window.require('execa');
const { join } = window.require('path');
Expand All @@ -31,7 +31,7 @@ function getFfPath(cmd) {
const exeName = isWindows ? `${cmd}.exe` : cmd;

if (customFfPath) return join(customFfPath, exeName);
if (isDev) return join('ffmpeg', platform, exeName);
if (isDev) return join('ffmpeg', `${platform}-${arch}`, exeName);
return join(window.process.resourcesPath, exeName);
}

Expand Down
1 change: 1 addition & 0 deletions src/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ export const isStoreBuild = isMasBuild || isWindowsStoreBuild;
export const isDurationValid = (duration) => Number.isFinite(duration) && duration > 0;

export const platform = os.platform();
export const arch = os.arch();

export const isWindows = platform === 'win32';
export const isMac = platform === 'darwin';
Expand Down

0 comments on commit c0aabf5

Please sign in to comment.