cvl-robot's diary

研究ノート メモメモ https://github.com/dotchang/

LIVE555 Streaming MediaをVisual Studio2015でコンパイル

(メモ)

WindowsLinuxで動画配信をしたい場合に便利なライブラリLIVE555 Streaming MediaWindowsコンパイルするときのメモです。
Gstreamerがプログラミングのために欲しい資料がなかなか手に入らないのに対して、Live555は比較的素直なソースで書かれているので資料無しでも理解しやすいのが特徴です。
LGPLライセンスです。

1.ダウンロード

http://www.live555.com/liveMedia/から、live555-latest.tar.gz ファイルをダウンロードしてきて解凍します.

2.コンフィグファイルwin32configをワードパッドで開いて、2か所編集します

標準の場所にインストールしたVisual Studio2015の例です。

TOOLS32	=	C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
LINK_OPTS_0 =		$(linkdebug) msvcrt.lib

いったん.txtファイル形式で保存しておいて、元のファイルを削除してから、ファイル名を編集して.txt拡張子を削ります.

3.Windows SDKをインストールする

Windowsのバージョンに合わせて、WindowsSDKをインストールします。一部のmakeルールを利用するために必要です。
Windows 10 SDK – Windows アプリ開発

4.スタートメニューのすべてのアプリからVisualStudio2015のフォルダを開き、VS2015_x86_Native_Toolsコマンドプロンプトを開く

  • [5]を参考にインクルードパスをWindowsSDKに通します。
SET Include=%Include%;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include
  • liveのフォルダに移動します。
cd c:\workspace\live
  • genWindowsMakefiles.cmdを実行します。
genWidnwowsMakefiles

5.各フォルダに降りて、コンパイルしていきます

[6]を参考に、ビルドしていきます。

cd liveMedia
nmake /B -f liveMedia.mak

cd ..\groupsock
nmake /B -f groupsock.mak
cd ..\UsageEnvironment
nmake /B -f UsageEnvironment.mak
cd ..\BasicUsageEnvironment
nmake /B -f BasicUsageEnvironment.mak
cd ..\testProgs
nmake /B -f testProgs.mak
cd ..\mediaServer
nmake /B -f mediaServer.mak

お疲れ様でした。

[2] LIVE555 Streaming Media
[3] 【RTP】Live555の使い方と解説【RTSPserver】 | FiS Project
[4] VC2008でLIVE555 Streaming Mediaのコンパイル - Junk Blog
[5] https://support.microsoft.com/ja-jp/kb/2791460
[6] Use .mak files on Visual Studio 2010 - Stack Overflow
[7] カメラモジュールの映像をH.264で圧縮してRTSPプロトコルによりストリーミング配信
[8] Don't Blog Me. I'll Blog You.: Streaming JPEG images over RTP using live555 streaming media
[9] GitHub - kylezhou/jpeg_webcam_streamer: a streaming application using JPEG (MJPEG) webcam based on Live555 library OpenCVで圧縮したjpegを送るにはこれのtestを参考にするとよさそう。
[10] GitHub - tklab-tud/umundo: Distributed Publish/Subscribe middleware for MacOSX, Linux, Windows, Android and iOS RTPを簡単に送りたいとき
[11] umundo/umundo-rtp-pub.cpp at master · tklab-tud/umundo · GitHub