1

YouTube Live Stream API をいじっています。ここまでは問題なく動作していますが、次のステップは、Web カメラのデータを RTMP 経由で YouTube にストリーミングすることです。

Google Devの(優れた)ドキュメントでは、ブロードキャストの概要が説明されています。ただし、興味のある手順を除いて、すべての手順が詳細に文書化されています。

ステップ 3.2: ビデオを開始する

ビデオ ストリームでビデオの送信を開始します。

Open Broadcasting Software を使用して、手動で作成した YouTube ライブ イベントにストリーミングできましたが、Windows 10 アプリからストリーミングする方法がわかりません。MediaElementクラスを調べたところ、アプリで Web カメラのプレビューをキャプチャできました。しかし、ファイルとして保存する方法しか見つかりません。

おそらく仕事をすることができるはずのFFMPEGに関する情報も見つかりましたが、アプリでFFMPEGを使用するためのライブラリ/DLLが見つかりません。

次にどこを見ればいいのか、いくつかのガイダンスが必要です。今は何をすべきかわからないからです。

/編集: MPlatform SDKに出くわしました。これはまさに私が欲しいものに聞こえますが、5000 ドルかかります.... 趣味のためではありません :(

4

2 に答える 2

6

したがって、おっしゃったように、FFmpeg は実際に RTMP 経由のストリーミング (出力) をサポートしています。何をストリーミングしようとしているのかはわかりません。それによって、ソリューションが多少複雑になるからです。2 つの基本的なケース:

  1. 画面から既存のファイルまたは何かをストリーミングしようとしている場合は、c# アプリケーションでコマンドライン実行可能ファイルとして ffmpeg を使用するだけです。
  2. カスタム ビットマップ データをストリーミングする場合は、もう少し複雑であり、libavformat/libavcodec を手動で呼び出す必要があります。

したがって、最初に、たとえばzeranoeから FFmpeg の Windows ビルドをいくつか入手します。ルート 1 に進む場合は、アプリケーションで ffmpeg.exe を呼び出すだけで完了です。ルート 2 に進みたい場合は、関連するライブラリをプロジェクトにロードし、libavcodec/libavformat を使用したファイルの書き込みに関するチュートリアルに従います。書きたいデータを教えていただければ、詳細をお伝えできます。次に、いずれかのアプローチを使用して rtmp:// 出力ストリームを開くだけで、準備完了です。(ビデオ コーデックとして h264 を、オーディオ コーデックとして aac を使用し、ビルドが x264 をサポートしていることを確認してください。これは zeranoe がサポートしています)。

于 2015-08-12T18:13:45.657 に答える
3

@Ronald と @rogerdpack が述べたように、おそらく ffmpeg が最善の策です。

動画を YouTube に公開する前にキャプチャと処理の両方を行いたい場合は、他のプロ向けソフトウェアからヒントを得てください。

私が確信しているライブ ストリーミング アプリケーションVMixも .Net/WPF で記述されており、次のアプローチを使用しています。

  • Windows DirectShow ライブラリまたはサポートされているその他の方法を使用してビデオ ストリームをキャプチャします (多くのソース タイプがあります)。
  • 必要なフィルターを使用してビデオを内部的に処理します - ただし、基本的にはフレーム/オーディオ サンプルを操作するだけです
  • 結果の A/V データ ストリームを仮想 DirectShow キャプチャ デバイスとして提示する
  • 仮想デバイスからキャプチャするように指示し、任意の RTMP サーバーに公開するように指示するコマンド ライン スイッチを使用して、子 Windows プロセスとして ffmpeg をスピンアップします。

VMix を使用するだけで済む場合は、ベーシック エディションの割にはかなり安価です。それは私がとにかくあなたと同じ道をたどったことです。

于 2015-08-12T21:03:17.340 に答える