1

画面をキャプチャするためにFFmpegを使用しています:

ffmpeg -f dshow -i video="UScreenCapture" -r 5 -s 640x480 -acodec libmp3lame -ac 1 -vcodec mpeg 4 -vtag divx -q 10 -f mpegts tcp://127.0.0.1:1234

だからどこかにストリーミングさせてください。アクセプタースクリプト:

 error_reporting(E_ALL); /* Allow the script to hang around waiting for connections. */
 set_time_limit(30); /* Turn on implicit output flushing so we see what we're getting as it comes in. */
 ob_implicit_flush();


$address = '127.0.0.1';
$port = 1234;
$outfile = dirname(__FILE__)."/output.flv";
$ofp = fopen($outfile, 'wb');

 if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) { echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n"; sleep (5); die; }
 if (socket_bind($sock, $address, $port) === false) { echo "socket_bind() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n"; sleep (5); die; }
 if (socket_listen($sock, 5) === false) { echo "socket_listen() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n"; sleep (5); die; }
 if (($msgsock = socket_accept($sock)) === false) { echo "socket_accept() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n"; sleep (5); break; }
 do {
    $a = '';
    socket_recv ($msgsock, $a, 65536, MSG_WAITALL);
    fwrite ($ofp, $a);
    //echo strlen($a)."\r\n";
 } while (true);

ディスクに保存しているようです。ここにhtmlがあります:

私はこれを行う方法を本当に知りませんが、例に基づいています:

<video src="/output.flv"></video>

しかし、それは何もしません。そして、ライブの着信コンテンツをストリーミングしたい場合は、どうすればよいですか?

4

1 に答える 1

1

HTML5ビデオはFlv形式をサポートしませんHTML5は次の形式のビデオのみをサポートします

.mp4 = H.264 + AAC
.ogg/.ogv = Theora + Vorbis
.webm = VP8 + Vorbis

次のサイトで HTML5ビデオの基本を学ぶHTML5ビデオの基本

flvを再生したい場合は、flashまたはFlexプログラム、またはflowplayerなどの一部のflvプレーヤーを使用する必要があります。

于 2013-02-13T06:37:09.393 に答える