Попытка запустить ffmpeg с помощью CreateProcess.
Проблемы:
1) Невозможно использовать dshow
в командной строке.
2) Потоковая передача RTMP по каналу STDIN не показывает поток.
Вопросы:
1) Что такое ceveats в командной строкеотносящиеся к API CreateProcess?
2) Что наоборот?Как устранить проблему?
Этот код работает:
BOOL bSuccess = CreateProcess(NULL,
L"ffmpeg.exe -y -loop 1 -i kites.jpg out.mp4",
NULL,
NULL,
TRUE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&siStartInfo,
&piProcInfo);
Сбой CreateProcess при использовании dshow
.Однако он работает как консольная строка в консоли.
BOOL bSuccess = CreateProcess(NULL,
L"ffmpeg.exe -y -loop 1 -i kites.jpg -f dshow -i audio=\"Stereo Mix(Realtek High Definition Audio)\" out.mp4",
NULL,
NULL,
TRUE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&siStartInfo,
&piProcInfo);
Отредактировано: (с абсолютным путем, все еще не повезло)
std::wstring cmdArgslistSetChannel = L"ffmpeg.exe -y -loop 1 -i c:\test\kites.jpg -f dshow -i audio=\"Stereo Mix(Realtek High Definition Audio)\" out.mp4";
bSuccess = CreateProcess(NULL,
&cmdArgslistSetChannel[0],
NULL,
NULL,
TRUE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&siStartInfo,
&piProcInfo);