2015-11-01 2 views
1

Пример:nodejs добавляет двойные кавычки в аргументы команды?

ffmpeg -i test.mkv -metadata title="Test 123" -c copy temp.mkv 

FFmpeg видит ""Test 123"". Это происходит с икрой() и ExecFile()

Если я запускаю ту же команду в оболочку Windows FFmpeg видит правильно, как "Test 123"

Так что с nodejs?

Вот nodejs код:

var process = spawn('ffmpeg', [ 
    '-i', 
    inFile, 
    '-metadata', 
    'title="Test 123"',  
    '-c', 
    'copy', 
    outFile 
]); 
+2

Вам нужно показать нам код Node.js, который не работает, а не команда оболочки, которая работает. – Quentin

+0

ok Я отправил код, я использую модуль child_process btw –

+0

Почему вы не используете 'exec' или' execSync'? – Ziki

ответ

2

Вам просто нужно переключиться на "title='Test 123'", поскольку двойные кавычки имеют приоритет над одинарными кавычками. Затем ваш stdin должен просто проанализировать его до title="Test 123".

Смежные вопросы