0

私が実装しようとしているシェルスクリプトは次のようになります。

    #!/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。

4

1 に答える 1

1

シェル スクリプトは問題なく動作しますが、時間をかけて C でやり直す必要はありません。ライブラリを呼び出して同等の機能を実現する方法を理解したい場合 (または SO の質問の範囲を超えている ffmpeg トランスコーディングを再実装する場合を除きます) を除き、まだ popen() を使用して ffmpeg サブプログラムと通信する必要があります。 )。

はい、ソケットを使用する必要があります-http://beej.us/guide/bgnet/は、数年前の私にとって良い出発点でした。

于 2011-08-20T23:27:01.513 に答える