ホームページ  >  記事  >  ウェブフロントエンド  >  Nodejs は ffmpeg に基づいてライブビデオストリーミングを実行します

Nodejs は ffmpeg に基づいてライブビデオストリーミングを実行します

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-14 15:39:0813653ブラウズ

今回は、ビデオライブストリーミング用のffmpegベースのnodejsについて説明します。 ライブビデオストリーミング用のffmpegベースのnodejsの注意事項は次のとおりです。

ffmpegをコアとして、LAN内でトランスコーディングを受信して​​インターネットにプッシュするクライアントソフトウェアをパッケージ化しています。この記事では、ストリーミング、トランスコーディング、ストリーミング、簡単な再生設定など、ffmpeg の基本的な機能のみを使用します。

ワークフロー

  1. リモート ビデオ ストリームをプルします。ビデオ ストリーム形式は rtsp です

  2. 一般的な再生形式 rtmp に変換します rtmp

  3. 再生ポートにプッシュします rtmp://プッシュ終了アドレス、ユーザーは再生ソフトウェアを使用してこのアドレスに直接接続できますコンテンツの再生

必要なツールとソフトウェア

1. ffmpeg コマンドラインツールの公式 Web サイトのリンク、それを選択する利点は次のとおりです:

  1. 無料

  2. インストール不要で、ユーザー操作の複雑さを大幅に軽減

  3. コマンドライン起動コール

2.nodejs のバージョン番号は v6.11.3 です。 (実際のプロジェクトではElectronを使用していますが、クライアントにパッケージ化する必要がなければnodejsは普通に動作します)

3. tsc のバージョン番号は v2.6.1 です。このプロジェクトでは主な記述言語として TypeScript を使用していますが、JavaScript を使用しても問題ありません

tsc を使用する場合は、バージョン 2.0 以降を使用してください。組み込みの @type ツールにより、コーディング効率が大幅に向上します。 4. fluent-ffmpeg のバージョン番号は v2.1.2 です。この nodejs パッケージは、ffmpeg のコマンド ライン呼び出し部分をカプセル化するため、コードの読みやすさが向上します。ffmpeg コマンド ライン マニュアルに精通している場合は、このパッケージを使用する必要はありません。

りー

VLC再生ソフト。ストリーミング、トランスコーディング、再生が正常に行われているかどうかを監視するために使用されます。公式サイトリンク

実装コード

  npm install --save fluent-ffmpeg
  //使用js编码的用户,可以忽略下条命令
  npm install --save @types/fluent-ffmpeg

概要

"start" をリッスンして取得したコマンドは、exec(yourCommandLine) を通じて呼び出すこともできますが、現時点では ffmpeg を制御することはできません。 実行結果。プログラムの終了後、ストリームがエラーを報告するか、プロセスが手動で停止されるまで、ffmpeg プロセスは実行され続けます。なぜfluent-ffmpegなのかは不明 オントロジー プロセスの終了後にサードパーティ プロセスを閉じるように通知できます。 ChildProcess.kill() のみを使用する場合でも、コマンドライン入力を通じてプロセスを切断すると推測されます。 サードパーティのプロセスを閉じることはできません。

I5 8G マシンで実行すると、シングルストリーム プッシュが CPU の約 35% を占有し、他のソリューションが必要になります。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

Vue2.0でグローバルスタイルを設定する手順の詳細な説明


NodeJSを使用してビデオをトランスコードする


完全なAngular4 FormTextコンポーネントを実装するにはどのような手順が必要か


以上がNodejs は ffmpeg に基づいてライブビデオストリーミングを実行しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。