включите команду ffmpeg в программу c ++

У меня есть программа на С ++, которая считывает визуализированные изображения из разделяемой памяти и записывает их в канал (mkfifo), чтобы я мог захватывать их с помощью ffmpeg и передавать их как живое видео через ffserver. Чтобы мой поток работал, я должен запустить программу и команду ffmpeg по отдельности.
Я спросил себя, нет ли возможности включить ffmpeg в программу и избежать использования канала.

Моя команда ffmpeg:

ffmpeg -re -f -rawvideo -s 800x600 -pix_fmt rgb24 -i myfifo http://localhost:8090/feed1.ffm

Мой вопрос:

Как лучше всего включить команду ffmpeg в программу на c ++? Есть ли какая-то другая идея улучшить это решение?

Любая помощь с благодарностью. Заранее спасибо.

-1

Решение

Есть два способа:

Проще использовать system (), если вы работаете в Linux, и запустить команду ffmpeg.

if(system("ffmpeg -re -f -rawvideo -s 800x600 -pix_fmt rgb24 -i myfifo http://localhost:8090/feed1.ffm") != 0)
{
cout << "ffmpeg failed..." << endl;
}

Сложно включить библиотеку в свой проект и использовать ее для внутреннего использования: Можно ли использовать FFmpeg в качестве библиотеки вместо отдельной программы?.

Для начала проверить https://trac.ffmpeg.org/wiki/Using%20libav*, где описано, как использовать libav (внутренняя библиотека, используемая ffmpeg), и я бы рекомендовал следовать руководству http://dranger.com/ffmpeg/tutorial01.html

-1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]