web-dev-qa-db-ja.com

PHPを使用したライブビデオストリーミング

PHP/AJAX/MYSQLチャットアプリケーションがあります。アプリケーションにビデオチャットを追加したい。 PHPアプリケーションでのライブビデオ会議/チャットに使用するライブビデオストリーミングを作成するにはどうすればよいですか。そのようなシステムを構築する場合に知っておくべき重要な用語は何ですか?そもそもPHPを使用することをお勧めしますか?考えていないことはありますか?PHPと組み合わせて使用​​できる他の言語はどれですか?

33
smyles

PHPを放棄する必要があると言っているわけではありませんが、ここでは異なるテクノロジーが必要です。

簡単に始めましょう(アカマイなし:-))、ここでの意味を考えてみましょう。ビデオ、チャットなど-最初はすべてクライアント側です。ユーザーがウェブカメラを使用している場合、何らかの方法で信号を取得してサーバーに送信する必要があります。これまでのところPHPはありません。

Flashはこれをサポートしていることを知っています(これをチェックしてください ウェブカメラとフラッシュのチュートリアル )。したがって、Flashを使用してコンテンツをサーバーに転送できます。 Flashを使い続ける場合は、 Flexflex and webcam tutorial )を検討することをお勧めします。

これらは基本に過ぎません。おそらく、アプリ内で完全なビデオチャットを提供するわけではないので、調査する必要がある場所がわかるかもしれません。まず、ストリームを記録してre-publishして、他の人がチャットなどから他の人を見るための何らかの方法が必要になります。

また、これがどれだけのトラフィックと帯域幅を消費するのかもわかりません。一般に、この問題を解決するにはStackoverflowの質問以上のものが必要になります。最善の方法は、アプリの完全な仕様を作成し、それを構築するために何人かの人を雇うことです。

HTH!

21
Till

下記のサービスはFLVメディア(Flash)に基づいていたため、利用できなくなっていることに注意してください。

Red5、Flex、およびPHP Live Video Streaming and Recordingを使用するこのプロジェクトには多くの機能があります

  1. ライブビデオを視聴者にストリーミングする

  2. カムまたはその他のビデオ入力デバイスからサーバーへのストリームを記録します

  3. 記録されたストリームとファイルをプレビューし、ビデオ用に表示したいフレームをサムネイル化します。

  4. コンピューターからビデオをアップロードし、Red5を使用してストリーミングできるFLVに変換します。

  5. 任意の解像度から選択してください

  6. 任意のスクリプトにプラグインできます

  7. 各Webサイトのユーザーは、ビデオとサムネイルを保存するための個別のディレクトリを持つことができ、このリンクを使用します http://code.google.com/p/red5-flex-streamer/

7
Shani

PHPを使用すると、ビデオ会議やチャットアプリケーションを構成するサイトのページを作成できますが、ビデオを配信したりストリーミングしたりすることはできません-PHPはサーバー上でのみ実行され、レンダリングされますクライアントブラウザへのHTML。

ビデオの場合、最初に必要なのは、アカマイやフィールドの多数の人などのライブストリーミングアカウントです。このアカウントを使用すると、ビデオのイングレスポイント、つまりライブビデオをストリーミングするサーバーを提供します。

次に、ブラウザにビデオを出力したい-Windows Media Player、Flash、Silverlightでこれを実現-選択したテクノロジーに適切なコントロールをページに埋め込む(PHPまたはライブ動画フィードのアドレスを指定します。

PHP(またはその他のスクリプト言語)を使用して、アプリケーションのチャット部分を構築し、全体(チャットと埋め込みビデオプレーヤー)をまとめます。

お役に立てれば。

4
deepcode.co.uk

ライブビデオ会議では、ストリーミングサーバーの必要性を無視することはできません。

はい、フラッシュを使用すると、ローカルフラッシュコントロール内のWebカメラからビデオを表示できますが、ネットワーク経由でそのビデオを送信することはできません。そのため、ストリーミングサーバーを送信する必要があります。

このようなものを作成する場合、アプリケーションの作成方法に影響を与えるため、非常に早い段階からビデオをホストする方法を検討するのが賢明です。 Flash/Flex/Silverlight/Windows Media .... etc ...

2
deepcode.co.uk

PHP/AJAX/MySQLでは、ライブビデオストリーミングアプリケーションを作成するには不十分です。同様のスレッド here があります。主にFlexまたはSilverlightを使用することをお勧めします。

1
Gaurav

環境で実行される「既製の」「サーバー」がたくさんあります。これらのほとんどは、前述のFlexまたはSilverlightを使用して実際のビデオ自体を実装しますが、すべてがLAMP/PHPの下で実行されると確信しています。

課題は、利用可能なすべてのものから最高のソフトウェアを選択し、ホスティングプロバイダーにビデオのストリーミングを許可することです(言うまでもなく、ストリーミングは帯域幅に負荷がかかります)。

1
Conan

同じ問題/回答 here 、以下に引用

私はあなたがあなたがあなたがあなた自身のプライベートビデオ通話を実行したいことを意味していると仮定している、単にSkype通話または同様のものへのリンク。ここには2つのオプションがあります。自分でホストするか、ホストされたソリューションを使用して製品に統合します。


セルフホスト-----------------これは面倒です。これはすべてPHPで実現できますが、すべての側面の仕事に最適なツールではないため、おそらく最も賢明なソリューションではありません。 Flashは、ユーザーエンドでのa/vキャプチャおよびトランスポートではるかに効率的です。フラッシュなしでこれを試みることができますが、頭痛がします。 HTML5はあなたの生活を楽にするかもしれませんが、最大限の互換性を求めて撮影しているのであれば、クライアントを作成する最も簡単な方法はフラッシュです。次に、オーディオ/ビデオを中継する実際のサーバー側に関しては、phpでチャットサーバーを作成できますが、 janenz00red5 の言及、それはすでに構築されており、クライアントを介してインターフェースします(まだない場合)。または、前述のようにフラッシュクライアントを自作し、両側のフラッシュストリーミングサーバーに接続することもできます。いずれにせよ、複雑になり、私の専門知識を超えて、あなたを助けてくれます。


ホストされたサービス-----------------すべての私の推奨事項、多くの複雑なサーバーと障害ポイントのばかげたセットアップを管理したい場合を除き、 UserPlane または同様のもので、すべての処理と技術的な作業をそれが得意な人にオフロードし、APIとのインターフェースを取り、クライアントをサイトにうまく統合することを心配します。そうすれば、あなたは幸せな開発者になるでしょう。

0
jimcavoli

要件に従ってWebサイトを簡単に構築できます。 PHPはWebサイト開発部分を処理するためにあります。すべてのホスティングおよび通常のWebサイト開発はそのまま機能します。ただし、ストリーミング部分については、適切なストリーミングサービスを選択する必要がありますRed5であろうとAdobeであろうと、多くのサービスから選択できます。

専用のストレージを提供するサービスを選択して、何かを正しく実行します。サーバーを適切に構成する方法がわからない場合は、ストリーミングサービスを選択できます。優れたサービスは、多くの場合、ストリームを効率的にブロードキャストするのに役立つCDNを提供します。 PHPでWebサイトを起動し、上記のWebページにYouTubeプレーヤーを埋め込むだけで機能します。

0
manish kumar