возможные идеи реализации кода на C для данного сценария оболочки (относится к ffmpeg) - PullRequest
0 голосов
/ 21 августа 2011

Сценарий оболочки, который я пытаюсь реализовать, выглядит следующим образом:

    #!/bin/bash
    while [ 1 ]
    do
       nc -l 1234 | ffmpeg -i pipe:0 -vcodec mpeg4 -s qcif -f m4v -y pipe:1 | nc localhost 1235
    done 

, он просто берет поток видеовхода по сети и выполняет транскодирование живого видео (с ffmpeg!) и потоковое видео обратно через сеть.Мой вопрос заключается в том, как мне реализовать эту функциональность в чистом C-коде.я знаю, что могу использовать popen () для передачи такой команды из кода AC, но я хотел бы сделать лучше.может быть с розетками и персоналом ... любые указатели приветствуются.

AskLearnDo.

1 Ответ

1 голос
/ 21 августа 2011

Ваш сценарий оболочки работает нормально, зачем вам тратить время на его повторение в C? Вам все еще нужно будет использовать popen () для взаимодействия с подпрограммой ffmpeg, если вы не хотите выяснить, как вызвать их библиотеку для достижения эквивалентной функциональности (или переопределить транскодирование ffmpeg, что выходит за рамки вопроса SO). ).

И да, вам нужно использовать сокеты - http://beej.us/guide/bgnet/ была хорошей отправной точкой для меня много лет назад.

...