Orange Pi Oneからのオンラインビデオストリーミング





この投稿では、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) #ignore the errors cap.set(3, 960) #Set the width important because the default will timeout #ignore the error or false response cap.set(4, 544) #Set the height ignore the errors r, frame = cap.read() cv2.imwrite("photo.jpg", frame)
      
      





そして彼は最初のショットを撮りました。



 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:最後の投稿が削除されたことは残念です。 学生でさえ、デシュマニアの鉄を手に入れる余裕があり、うまくいくことを人々に伝えたかったのです。



All Articles