Я пытаюсь кодировать видео для потоковой передачи mpeg, я использовал следующую команду (я привел ее из этой статьи: http://blog.streamroot.io/encode-multi-bitrate-videos-mpeg-dash-mse-based -media-player /):

cd c:\ffmpeg\bin
set inputFile="C:\park.mp4"
set outputFile="C:\content\park"

ffmpeg -y -i %inputFile% -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -r 24 – g 24 -b:v 1500k -maxrate 1500k -bufsize 1000k -vf "scale=-1:720" %outputFile%_720.mp4

после запуска команды появляется следующая проблема:

[NULL @ 0000000002f43dc0] Unable to find a suitable output format for 'ΓÇô' ΓÇô: Invalid argument

Я пробовал другие видео, но ошибка та же.

Как мне решить это?

2 ответа2

3

Проблема в том, что у вас есть "специальный" дефис, за которым следует пробел перед "g" в середине вашей командной строки, он называется « черточка », и это сбивает с толку ваш синтаксический анализатор.

Сравнивать:

Hyphen:  -
Em dash: —
En dash: –

Ваш сценарий должен быть (насколько мне известно):

cd c:\ffmpeg\bin
set inputFile="C:\park.mp4"
set outputFile="C:\content\park"

ffmpeg -y -i %inputFile% -c:a libfdk_aac -ac 2 -ab 128k -c:v libx264 -r 24 -g 24 -b:v 1500k -maxrate 1500k -bufsize 1000k -vf "scale=-1:720" %outputFile%_720.mp4

Я бы предположил, что статья, из которой вы скопировали скрипт, была создана с использованием некоего текстового процессора, который автоматически подставлял пробел после того, как пробел был случайно напечатан перед "g", и оттуда он был скопирован и вставлен в остальную часть статья.

Подсказка получена из этого ТАКОГО вопроса

1

Первое, что я вижу: у вас есть пробел между тире и g для указания длины гопа. Я думаю, что FFmpeg считает, что вы пытаетесь сохранить вывод с именем «-». Попробуйте удалить пробел.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .