------------------------------------------------------------------------------
VCapStream Ver.2.00

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

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

【概要】
	このソフトウェアでは、以下の機能を提供します。
	・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 を起動します。

【画面の説明】

  [ファイル]メニュー

    [カメラに接続]
	  選択すると「カメラ接続」ダイアログを開きます。
	  カメラ接続ダイアログでは接続するカメラを選択して接続します。
	  ・「カメラ・デバイス」コンボボックスでは、PCに接続したWEBカメラなどの
	    DorectShowで接続可能なカメラに接続します。
	  ・「フレームサイズ」コンボボックスでは、対象のカメラで使用可能なフレーム
	    サイズを選択します。
	  ・「フレームレート」コンボボックスでは、フレームレートを選択します。
	  ・「音声入力デバイス使用」チェックボックスにチェックを付けると、マイクが
	    使える場合はマイクを選択でき、録画時には音声付きで保存されます。
	  ・「音声入力デバイス」コンボボックスでは、PCに接続したマイクを選択します。
	  ・「音声サンプルレート」コンボボックスでは、音声のサンプリングレートを
	    選択します。
		サーバー機能を有効した時はマイクの音声も転送できます。

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

    [サーバーに接続]
	  選択すると「サーバー接続」ダイアログを開きます。
	  サーバー接続ダイアログでは接続するサーバーを選択して接続します。
	  ・「ホスト」欄には、接続するサーバーのIPアドレスかホスト名を入力します。
	  ・「ポート」欄には、接続するサーバーの待ち受けTCPポート番号を入力します。

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

    [ビデオファイルを開く]
      保存されているビデオファイル(MP4)を再生するためにオープンします。

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

    [アプリケーション終了]
      プログラムを終了します。

  [表示]メニュー
    [ローカル画像]
	  画面にローカルカメラの画像を表示します。
	  音声が有る場合はローカルマイクの音声を再生します。

    [サーバー画像]
	  画面にサーバーから受信した画像を表示します。
	  音声が有る場合はサーバーから受信した音声を再生します。

    [クライアント画像]
	  画面にクライアントから受信した画像を表示します。
	  音声が有る場合はクライアントから受信した音声を再生します。

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

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

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

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

  [ツール]メニュー

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

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

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

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

    [ローカル画像を送信]
      サーバー接続時にローカルカメラの画像をサーバーに送信します。

    [クライアント画像を送信]
      サーバー接続時にクライアントから受信した画像をサーバーに送信します。

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

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

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

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

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

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

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

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

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

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

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

	  [サウンド]グループ
        1.サウンド・デバイス
          音声出力デバイスを選択します。

    [ビデオ設定]
      「ビデオ・オプション」ダイアログを開きます。
      「ビデオ・オプション」ダイアログでは、以下の項目を設定します。

	  [ビデオ]グループ
        1.フレームサイズ
          カメラでキャプチャする画像のサイズを設定します。

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

  [ヘルプ]メニュー
    [ヘルプ表示]
      PDF形式のヘルプファイルを開きます。

    [VCapStreamについて]
      本アプリのバージョンを表示します。

  [設定ファイル] VCapStream.ini

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

	・C:\ProgramData\GUSUKU\VCapStream

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

    [SETTING]          				設定セクション
	LANG=							自動で言語を選択する（デフォルト）
	//LANG=ja						強制的に言語を日本語に切り替える
	//LANG=en						強制的に言語を英語に切り替える

	[LOCAL_SRC]						ローカルのデバイス設定
	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			音声サンプルレート

	[REMOTE_SRC]					サーバー接続設定
	SERVER_NAME=192.168.1.10		最後の接続サーバーのホスト名/IPアドレス
	SERVER_PORT=8080				最後の接続サーバーのTCP ポート番号

	[OPTION]						オプション設定
	VIDEO_DIR=D:\Data\Video			ビデオファイルの保存フォルダのパス
	VIDEO_FILE_NAME=capture			ビデオファイルの保存ファイル名
	MERGE_AUDIO_TO_VIDEO=True		音声を動画ファイルに結合する
	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本のファイルに保存するようにした。
	・サーバーからの音声がビデオファイルに保存できないバグを修正
	・音声入力のサンプルレート設定を追加
	・ストリーミングのヘッダ項目追加（画像サイズ・音声サンプルレート等）

    Ver.1.02 build 0001 2026/02/01
	・FFmpegが実行可能かチェックする方法を変更
	・Helpファイルの更新
		（インストール方法、データファイル説明、ストリームデータの解説を追加）

	Ver.1.02 build 0003  2026/02/05
	・一部の環境で初期画面の画像表示領域のサイズが正常でない件を修正
	・ストリームに音声が含まれない場合はサウンドボタンを無効にするように修正
	・サーバーへの接続時にウィンドウサイズを調整するように変更

	Ver.2.00 beta 0001  2026/03/04
	・カメラへ＆マイクの接続とサーバーへの接続を同時に選択できるようにした。
	・サーバーからの音声付き動画の受信と同時に、PCに接続されたカメラ＆マイク
	  からの音声付き動画をサーバーに送信できるようにした。
	・サーバー側ではクライアントからの音声＆画像を再生できるようにした。
	・双方向で音声付き動画の送受信が出来るようになった。
	・表示画面で再生する対象を切り換えられるようにした。
	  （サーバーの画面、クライアントの画面、自分のカメラの画像）

【謝辞】
	本プログラムで使用している下記の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

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