
この投稿では、WebカメラとシングルボードOrange Pi Oneを使用したオンラインビデオストリーミングの実装例を紹介します。
さて、ここで使用されているものから始めましょう:
1)写真の
スカーフ2)
ウェブカメラそして、これは810 + 155 = 965ルーブルです。 男子生徒でさえ余裕があります。
したがって、ストリーミングはコンテンツをネットワークにブロードキャストしています。 つまり 情報フローを配布するサーバーが必要です。 配布は、要求に応じてブロードキャストできます。 私たちの場合、それは要求次第です。
まず、カメラドライバーが立ち上がるかどうかを確認する必要があります。
opigaz@orangepione:~$ lsusb ... Bus 002 Device 002: ID 1908:2311 GEMBIRD ...
カメラが拾いました。 次に、カメラの写真を撮ります。 私は簡単な方法でOpenCVライブラリをインストールしました。
opigaz@orangepione:~$ sudo apt install python-opencv
インターネットで例を見つけました:
import cv2 import numpy cap = cv2.VideoCapture(0)
そして彼は最初のショットを撮りました。
opigaz@orangepione:~$ python cam.py
良い写真ではありませんが、サボテンがあります! 「video for Linux」APIを直接使用して、カメラから画像をキャプチャすることもできます。
ストリーミングするには、配信サーバーを整理する必要があります。 これにはかなり長い時間が必要です。なぜなら、 とりわけ、いくつかの配布フォーマット(またはいくつかの)のサポートを実装する必要があります。 また、既成のソリューションもあります。 ffmpegとvlcをそれぞれ配置します。
サーバーを起動するには、次のコマンドを使用できます。
cvlc v4l2:///dev/video0 :v4l2-standard=mpeg2 :input-slave=alsa://hw:0,0 :live-caching=300 :sout="#transcode{vcodec=WMV2,vb=800,scale=1,acodec=wma2,ab=128,channels=2,samplerate=44100}:http{dst=:8080/stream.wmv}"
クライアントのビデオストリームを確認するには、次のようにします。
vlc -vvv http://192.168.100.10:8080/stream.wmv
鉄の部分は次のようになります。

結果は次のとおりです。

モバイルデバイスからこのストリームに接続することもできます。 vlcがインストールされたスマートフォンから試しました。
PS:私にとって、最も驚くべきことは、カメラとスカーフの両方が機能することです。 また、放送中のボードのロードはほぼ同じです。
PPS:最後の投稿が削除されたことは残念です。 学生でさえ、デシュマニアの鉄を手に入れる余裕があり、うまくいくことを人々に伝えたかったのです。