------------------------------------------------------------------------------
VCapStream Ver.1.01

WEBカメラ映像キャプチャ＆ストリーミングツール

                             Copyright(C) 2026- GUSUKU All Rights Reserved
------------------------------------------------------------------------------
                                                       最終更新日：2026/01/31

【概要】
	このソフトウェアでは、以下の機能を提供します。
	・PCに接続したWEBカメラの映像を取り込んで表示する。
	・取り込んだ動画と音声をファイルに保存する。
	・保存した動画ファイルを再生する。
	・WEBカメラから取り込んだライブ画像を別のPCで動作する本アプリに転送する。
	・別のPCで動作する本アプリから転送されたライブ画像を受信して表示する。

【動作環境】

    Windows 10、Windows11

【使用ツール】
	このソフトウェアでは、カメラ画像の取り込みと再生、音声取り込みと再生、
	動画ファイルの保存と再生の機能を実装するために、以下のNuGetパッケージを
	使用しています。

	Accord.Video.DirectShow
		作成者： Accord.NET
	  カメラヵらの画像取り込み、カメラ情報取得、カメラ設定等に使用。

	Accord.Video.FFMPEG	
		作成者： Accord.NET
	  動画ファイル保存、動画ファイル再生に使用。

	NAudio
		作成者： Mark Heath & Contributors
	  マイク入力とスピーカー出力、音声ファイル保存と再生に使用。

	FFmpeg
	  インストールされていれば外部プログラムとして使用します。
	  ビデオの保存時に音声(wav)と動画(mp4)を結合する時と、ビデオの再生時に動画
	  ファイルから音声ファイルを分離する時に使用します。

【ファイル構成】

    アーカイブを解凍すると以下のファイルが生成されます。

    setup.exe					セットアッププログラム
	VCapStream_Setup.msi		インストーラ本体

【インストール】

    アーカイブを解凍したら、setup.exeを実行し、画面に指示に従ってインストール
	しててください。
	.NET Framework 4.7.2 を使用するため、インターネットへの接続が必要です。
	.NET Framework 4.7.2 がインストール済みの場合はその限りではありません。

	FFmpegはインストーラに含まれていません。
	FFmpegをインストールするには、管理者としてコマンドプロンプトを開き、以下の
	コマンドを実行します。

	winget install --id=Gyan.FFmpeg -e

	上記のコマンドを実行する際は、インターネットに接続されている必要が有ります。

【アンインストール】

    コントロールパネルを開いて、表示方法が「カテゴリ」の場合は「プログラムの
	アンインストール」を、表示方法が「大きいアイコン」か「小さいアイコン」の
	場合は「プログラムと機能」を選択します。
	「プログラムのアンインストール又は変更」リストから「VCapStream」を選択して
	アンインストールします。

【使用方法】

	スタートメニューの全てのメニューから VCapStream を選択して起動します。
	スタートメニューに VCapStream が 見つからない場合は gusuku.org という
	グループの中に入っているので、gusuku.org の中の VCapStream を起動します。

【画面の説明】

  [File]メニュー

    [Connect]
	  選択すると Connect ダイアログを開きます。
	  Connectダイアログでは接続対象を以下の2種類から選択して接続します。
	  ・Camera グループのチェックボックスにチェックを付けると、PCに接続した
	    WEBカメラなどのDorectShowで接続可能なカメラに接続します。
		Use Audio Input Device チェックボックスにチェックを付けると、マイクが
		使える場合はマイクを選択でき、録画時には音声付きで保存されます。
		サーバー機能を有効した時はマイクの音声も転送できます。
	  ・Server グループのチェックボックスにチェックを付けると、別のPCで起動
	    中のサーバー機能を開始している VCapStream に接続します。
	    その場合は接続した別PCの VCapStream に接続されているカメラの画像を受信
		して表示します。

	[Disconnect]
	  現在接続されているカメラやサーバーから切断します。

    [Open Video File]
      保存されているAVIファイルを再生するためにオープンします。

	[Close Video File]
	  オープンしているビデオファイルをクローズします。

    [Exit Application]
      プログラムを終了します。

  [View]メニュー

    [Mirror]
      画像の左右を反転表示します。

    [Flip Up/Down]
      画像の上下を反転表示します。

    [Fit Window to Image]
	  ウィンドウサイズを画像のサイズに合わせます。

    [Video Property]
      接続されているカメラのプロパティダイアログを表示します。

  [Tool]メニュー

    [Capture Start]
      カメラ／サーバーからの画像キャプチャを開始します。

    [Capture Stop]
      カメラ／サーバーからの画像キャプチャを停止します。

    [Server Start]
      画像ストリーミングサーバーを開始します。

    [Server Stop]
      画像ストリーミングサーバーを停止します。

    [Video Play]
      オープンしたビデオファイルの再生を開始します。

    [Video Pause]
      オープンしたビデオファイルの再生を停止します。

    [Video Rewind]
      オープンしたビデオファイルの再生位置を先頭に戻します。

    [Options]
      オプション設定ダイアログを表示します。
      オプション設定ダイアログでは、以下の項目を設定します。

	  [File]グループ
        1.Video Save Dir.
          キャプチャ動画ファイルを保存するフォルダを設定します。

        2.Video Filename
		  キャプチャ動画ファイルを保存する際のファイル名を設定します。
		  保存ファイルには設定したファイル名の末尾に日付と時刻が付加されます。

		3.音声ファイル
		  FFmpegがインストールされている場合、音声ファイルを動画ファイルに結合
		  するかどうかを設定します。

        4.Max Record Frames
		  録画フレーム数を制限する場合に0以外を設定します。
		  0を設定すると制限なしで録画されます。

        5.Snapshot Save Dir.
		  スナップショット画像の保存ディレクトリを設定します。
		  スナップショットボタンを押した時の画像を保存します。

        6.Snapshot Filename
		  スナップショット画像の保存ファイル名を設定します。
		  保存ファイルには設定したファイル名の末尾に日付と時刻が付加されます。

	  [Server Setting]グループ
        1.Listen TCP Port
          サーバーの待ち受けポート番号を指定します。

	  [Sound]グループ
        1.Sound device
          音声出力デバイスを選択します。

    [Video Setting]
      Video Option ダイアログを開きます。
      Video Optionダイアログでは、以下の項目を設定します。

	  [Video]グループ
        1.Frame Size
          カメラでキャプチャする画像のサイズを設定します。

        2.Video Filename
          カメラでキャプチャする動画のフレームレートを設定します。

  [設定ファイル] VCapStream.ini

	VCapStream.ini という名前で自動生成されます。
	VCapStream.ini ファイルは、アプリケーションのインストールされたフォルダに
	保存しようと試みますが、「C:\Program Files」又は「C:\Program Files (x86)」
	等のシステムで保護されたフォルダにインストールされた場合はアプリケーション
	から書き込めないため、VCapStream.iniはアプリケーション設定用のフォルダに
	保存されます。
	多くの場合以下のパスで表されるフォルダ内に作成されます

	・C:\ProgramData\GUSUKU\VCapStream

    以下にVCapStream.ini の項目について説明します。

    [SETTING]          				設定セクション
	CONNECT_TYPE=0					接続先 0=カメラ 1=サーバー
	CAMERA_NAME=Logi C615 WebCam	最後に接続したカメラの名前
	FRAME_WIDTH=640					フレームサイズ（横）
	FRAME_HEIGHT=480				フレームサイズ（縦）
	FRAME_RATE=15					フレームレート
	AUDIO_INPUT_ENABLE=True			マイク入力の有無(True=有 False=無し)
	AUDIO_INPUT_NAME=マイク (Logi C270 HD WebCam)	マイクデバイス名
	AUDIO_SAMPLE_RATE=16000			音声サンプルレート
	SERVER_NAME=192.168.1.10		最後の接続サーバーのホスト名/IPアドレス
	SERVER_PORT=8080				最後の接続サーバーのTCP ポート番号
	VIDEO_DIR=D:\Data\Video			ビデオファイルの保存フォルダのパス
	VIDEO_FILE_NAME=capture			ビデオファイルの保存ファイル名
	REC_FRAME_COUNT=0				保存するフレーム数
	SNAPSHOT_DIR=D:\Data\Snapshot	スナップショット保存フォルダのパス
	SNAPSHOT_FILE_NAME=snapshot		スナップショット保存ファイル名
	LISTEN_PORT=8080				サーバー動作時の待ち受けTCPポート番号
	AUDIO_OUTPUT_NAME=スピーカー (USB Speaker)	オーディオ出力（スピーカー）デバイス名

【更新履歴】
    Ver.1.00  2026/01/12
		・初回リリース

    Ver.1.01  2026/01/31
		・転送データにチェックサムを追加（主に音声転送時の雑音防止）
		・FFmpegがインストールされてる場合は、外部プログラムとして ffmpegを起動して
		  音声と動画を結合して、1本のファイルに保存するようにした。
		・サーバーからの音声がビデオファイルに保存できないバグを修正
		・音声入力のサンプルレート設定を追加
		・ストリーミングのヘッダ項目追加（画像サイズ・音声サンプルレート等）

【謝辞】
	本プログラムで使用している下記のNuGetパッケージを提供して頂いた方々に
	感謝いたします。

	・Accord.Video.DirectShow	作成者： Accord.NET
		カメラヵらの画像取り込み、カメラ情報取得、カメラ設定等に使用させて
		頂きました。

	・Accord.Video.FFMPEG	作成者： Accord.NET
		動画ファイル保存、動画ファイル再生に使用させて頂きました。

	・NAudio			作成者： Mark Heath & Contributors
		マイクからの音声入力とスピーカーへの音声出力、音声ファイル保存と再生に
		使用させて頂きました。

	有用なライブラリを提供して頂き、有難うございます。

	本プログラムではFFmpegがインストールされていれば、動画ファイルの保存時に
	音声と動画を結合して音声付きの動画ファイル(mp4)を作成します。
	FFmpegは外部プログラムとして利用させて頂いております。
	FFmpegの開発者の方々に感謝いたします。

【利用規定】

・使用条件
    使用条件は特にありません。自由に使用してください。
    但し、犯罪や他人に害を与えることに利用する場合を除きます。

・配布について
    編集（ソースコードの場合）・改造を行っていない状態での再配布は自由です。

・編集・改造について（ソースコードの場合）
    変更・改造は自由に行えますが、変更を加えたものを再配布する場合は、
    変更内容を明記したドキュメントを配布物に含める必要があります。

    このソフトウェアのソースコードの一部を他のソフトウェアに使用する場合は
    その限りではありません。

・免責事項
    このソフトウェアを使用したことによって生じた、いかなる障害、損害について
    作者はいっさい責任を負わないものとします。

    作者はこのソフトウェアのバグが発見された場合においても、その修正および、
    バージョンアップの義務を負わないものとします

・バグ・要望について
    バグや要望については、メールでお願いします。
    ただし、バグ修正、要望の反映が保証される物ではありません。

・著作権情報：
    このソフトウェアの著作権は作者である GUSUKU が保有します。
    このソフトウェアは日本国著作権法および国際条約により保護されています。
    利用規定の範囲内で使用することを許諾しますが、利用規定に違反して使用、
    配布などを行うと、著作権の侵害となりますのでご注意ください。

・使用パッケージの著作権情報
	このソフトでは以下のNuGetパッケージを使用しています。
	各パッケージの著作権情報は各パッケージのライセンス情報に記載されています。
	・Accord.NET-Framework
		(Accord, Accord.Video, Accord.Video.DirectShow, Accord.Video.FFMPEG)
		このパッケージのライセンス情報は Accord.NET-Framework-license.txt に
		記載されています。
	・NAudio
		このパッケージのライセンス情報は NAudio-license.txt に
		記載されています。

【連絡先】
    GUSUKU
    root@gusuku.org

【WEBサイト】
    https://www.gusuku.org/

【ソフトウェア公開サイト】
    https://www.gusuku.org/software

------------------------------------------------------------------------------
