。
私がコード化して正常にテストした別のプロジェクトがあります。それがあなたを助けることができるなら、あなたは参照を持つことができます。
MyVideoServerアプリケーションで重要なのは、カメラのIDとビデオのpreviewFrameを取得していることです。 previewFrame = await MyMediaCapture.GetPreviewFrameAsync(videoFrame);
その後、streamSocketClientを通じてビデオストリームをクライアントに送信します。 await streamSocketClient.sendBuffer(buffer);
public MainPage()
{
this.InitializeComponent();
InitializeCameraAsync();
InitSocket();
}
MediaCapture MyMediaCapture;
VideoFrame videoFrame;
VideoFrame previewFrame;
IBuffer buffer;
DispatcherTimer timer;
StreamSocketListenerServer streamSocketSrv;
StreamSocketClient streamSocketClient;
private async void InitializeCameraAsync()
{
var allVideoDevices = await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture);
DeviceInformation cameraDevice = allVideoDevices.FirstOrDefault();
var mediaInitSettings = new MediaCaptureInitializationSettings { VideoDeviceId = cameraDevice.Id };
MyMediaCapture = new MediaCapture();
try
{
await MyMediaCapture.InitializeAsync(mediaInitSettings);
}
catch (UnauthorizedAccessException)
{
}
PreviewControl.Height = 180;
PreviewControl.Width = 240;
PreviewControl.Source = MyMediaCapture;
await MyMediaCapture.StartPreviewAsync();
videoFrame = new VideoFrame(BitmapPixelFormat.Bgra8, 240, 180, 0);
buffer = new Windows.Storage.Streams.Buffer((uint)(240 * 180 * 8));
}
次に鍵サーバのコードは、サーバーを作成し、InitSocket機能でソケット通信によりクライアントを接続しようとしています。 StreamSocketListenerServerをオブジェクトとして作成して開始する必要があります。同時に、サーバのipポートが設定されます。 streamSocketSrv = new StreamSocketListenerServer(); await streamSocketSrv.start("22333");
最後に、Timer_Tickは100msごとにクライアントにビデオストリームを送信します。
private async void InitSocket()
{
streamSocketSrv = new StreamSocketListenerServer();
await streamSocketSrv.start("22333");
streamSocketClient = new StreamSocketClient();
timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMilliseconds(100);
timer.Tick += Timer_Tick;
timer.Start();
}
あなたは、あなたがPC上でMyVideoClientアプリケーションを配備することができラズベリーパイ3. にMyVideoServerアプリケーションを配備することができ後。次に、「Raspberry Pi 3 IP Address」と入力し、「接続」ボタンをクリックします。ビデオストリームがアプリケーションに表示されます。
これはsampleコードです。参考にすることができます。
[このプロジェクト](https://github.com/davetoland/VideoSocketServer)にチェックしましたか? –
ありがとうございます。 –