Метаданные ffmpeg не определены в электронном приложении - PullRequest
0 голосов
/ 02 мая 2018

Я правильно установил ffmpeg. Я могу проверить это, написав ffmpeg в cmd, что дает мне этот результат

img

Теперь в моем электронном приложении в моем index.html я получаю информацию от пользователя и отправляю пользовательское событие на электронную сторону приложения, которая находится в точке входа index.js

index.html

<script>
    const electron = require('electron');
    const { ipcRenderer } = electron;

    document.querySelector('form').addEventListener('submit', (e) => {
        e.preventDefault();
        const { path } = document.querySelector('input').files[0];

        ipcRenderer.send('video:submit', path);
    });
</script>

и с помощью ffmpeg.ffprobe я пытаюсь обновить метаданные видео для ввода в электронную сторону, например:

const electron = require('electron');
const ffmpeg = require('fluent-ffmpeg');

const { app, BrowserWindow, ipcMain } = electron;

app.on('ready', () => {
    const mainWindow = new BrowserWindow({});
    mainWindow.loadURL(`file://${__dirname}/index.html`);
});

ipcMain.on('video:submit', (event, path) => {
    ffmpeg.ffprobe(path, (err, metadata) => {
        console.log(metadata);
        //console.log(metadata.format.duration);
    });
});

И это утешает, что метаданные не определены, когда я раскомментирую console.log(metadata.format.duration), это говорит

typeError: невозможно прочитать свойство 'формат' неопределенного

Что я делаю не так?


Итак, я установил две новые переменные окружения, и теперь возникает другая ошибка, когда я console.log (ошибка):

{ Error: spawn C:\Users\Borys\Documents\videoinfo\ffmpeg\bin ENOENT
at exports._errnoException (util.js:1024:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:192:19)
at onErrorNT (internal/child_process.js:374:16)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
code: 'ENOENT',
errno: 'ENOENT',
syscall: 'spawn C:\\Users\\Borys\\Documents\\videoinfo\\ffmpeg\\bin',
path: 'C:\\Users\\Borys\\Documents\\videoinfo\\ffmpeg\\bin',
spawnargs:
[ '-show_streams',
 '-show_format',
 'C:\\Users\\Borys\\Documents\\portfolio\\img\\header_video.mp4' ] }`

(Мне пришлось вставить его как код, потому что он говорил, что мой пост содержит код, который не отформатирован должным образом)

1 Ответ

0 голосов
/ 02 мая 2018

Хорошо, спасибо @Aleander Leithner и этот вопрос Я понял это. Так что ошибка была моей переменной окружения, которая должна быть:

  • FFMPEG_PATH со значением пути к ffmeg.exe
  • FFPROBE_PATH со значением пути к ffprobe.exe
  • PATH со значением C: ....... \ ffmpeg \ bin
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...