LIVE555 Streaming MediaをVisual Studio2015でコンパイル
(メモ)
WindowsやLinuxで動画配信をしたい場合に便利なライブラリLIVE555 Streaming MediaをWindowsでコンパイルするときのメモです。
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