Skip to contentSkip to conversation

(no subject)

Buildroot New Mike Williams 4 participants 5 messages May 9, 2011 – Jun 7, 2011

lore
Share & tools
lore
#0 lore raw

Adds support for Live555's RTSP server, client, and MPEG2 indexer. Tested on PPC.

First post to the mailing list, please review patch for any formatting problems that need correcting.

#1 lore raw

PATCH 1/1 Added Live555 RTSP Server package.

From: Mike Williams <[email protected]>

---
 package/multimedia/Config.in          |    1 +
 package/multimedia/live555/Config.in  |   30 ++++++++++++++++++++++
 package/multimedia/live555/live555.mk |   44 +++++++++++++++++++++++++++++++++
 3 files changed, 75 insertions(+), 0 deletions(-)
 create mode 100644 package/multimedia/live555/Config.in
 create mode 100644 package/multimedia/live555/live555.mk
package/multimedia/Config.in +1 -0
index b8a0f21..3ae9d5b 100644
@@ -31,6 +31,7 @@ source "package/multimedia/libsamplerate/Config.in"
 source "package/multimedia/libsndfile/Config.in"
 source "package/multimedia/libtheora/Config.in"
 source "package/multimedia/libvorbis/Config.in"
+source "package/multimedia/live555/Config.in"
 source "package/multimedia/madplay/Config.in"
 source "package/multimedia/mpd/Config.in"
 source "package/multimedia/mpg123/Config.in"
package/multimedia/live555/Config.in new file +30 -0
new file mode 100644
index 0000000..e77c875
@@ -0,0 +1,30 @@
+config BR2_PACKAGE_LIVE555
+	bool "Live555"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  LIVE555 Streaming Media forms a set of C++ libraries for multimedia
+	  streaming, using open standard protocols (RTP/RTCP, RTSP, SIP).
+
+	  http://www.live555.com/liveMedia/
+
+config BR2_PACKAGE_LIVE555_OPENRTSP
+	bool "OpenRRTSP"
+	depends on BR2_PACKAGE_LIVE555
+	default y
+	help
+		Live555 RTSP Client.
+		
+config BR2_PACKAGE_LIVE555_MEDIASERVER
+	bool "live555MediaServer"
+	depends on BR2_PACKAGE_LIVE555
+	default y
+	help
+		RTSP Server. Supports numerous media formats such as H.264 and MPEG2.
+
+config BR2_PACKAGE_LIVE555_MPEG2_INDEXER
+	bool "MPEG2TransportStreamIndexer"
+	depends on BR2_PACKAGE_LIVE555
+	default y
+	help
+		MPEG2 Transport Stream Indexer. Provides indexes allowing 'trick play'
+		operation in the Live555MediaServer.
package/multimedia/live555/live555.mk new file +44 -0

44 lines not on this page · raw message

Signature · 1 line
1.7.3.4
#2 lore raw

PATCH 1/1 Added Live555 RTSP Server package.

Thanks to Mike!

2011/5/10 Mike Williams <[email protected]>

Quoted 128 lines

From: Mike Williams <[email protected]>

---
 package/multimedia/Config.in          |    1 +
 package/multimedia/live555/Config.in  |   30 ++++++++++++++++++++++
 package/multimedia/live555/live555.mk |   44
+++++++++++++++++++++++++++++++++
 3 files changed, 75 insertions(+), 0 deletions(-)
 create mode 100644 package/multimedia/live555/Config.in
 create mode 100644 package/multimedia/live555/live555.mk
package/multimedia/Config.in +1 -0
index b8a0f21..3ae9d5b 100644
@@ -31,6 +31,7 @@ source "package/multimedia/libsamplerate/Config.in"
 source "package/multimedia/libsndfile/Config.in"
 source "package/multimedia/libtheora/Config.in"
 source "package/multimedia/libvorbis/Config.in"
+source "package/multimedia/live555/Config.in"
 source "package/multimedia/madplay/Config.in"
 source "package/multimedia/mpd/Config.in"
 source "package/multimedia/mpg123/Config.in"
package/multimedia/live555/Config.in new file +5 -0
new file mode 100644
index 0000000..e77c875
@@ -0,0 +1,30 @@
+config BR2_PACKAGE_LIVE555
+       bool "Live555"
+       depends on BR2_INSTALL_LIBSTDCPP
+       help
+         LIVE555 Streaming Media forms a set of C++ libraries for

multimedia

package/multimedia/live555/Config.in new file +17 -0
+         streaming, using open standard protocols (RTP/RTCP, RTSP, SIP).
+
+         http://www.live555.com/liveMedia/
+
+config BR2_PACKAGE_LIVE555_OPENRTSP
+       bool "OpenRRTSP"
+       depends on BR2_PACKAGE_LIVE555
+       default y
+       help
+               Live555 RTSP Client.
+
+config BR2_PACKAGE_LIVE555_MEDIASERVER
+       bool "live555MediaServer"
+       depends on BR2_PACKAGE_LIVE555
+       default y
+       help
+               RTSP Server. Supports numerous media formats such as H.264

and MPEG2.

package/multimedia/live555/Config.in new file +7 -0
+
+config BR2_PACKAGE_LIVE555_MPEG2_INDEXER
+       bool "MPEG2TransportStreamIndexer"
+       depends on BR2_PACKAGE_LIVE555
+       default y
+       help
+               MPEG2 Transport Stream Indexer. Provides indexes allowing

'trick play'

package/multimedia/live555/Config.in new file +1 -0
+               operation in the Live555MediaServer.
(quoted diff) +0 -0

live555.mk
new file mode 100644
index 0000000..ce119d0

package/multimedia/live555/live555.mk new file +17 -0
@@ -0,0 +1,44 @@
+#############################################################
+#
+# live555 streaming media
+#
+#############################################################
+
+LIVE555_VERSION = latest
+LIVE555_SOURCE = live555-$(LIVE555_VERSION).tar.gz
+LIVE555_SITE = http://www.live555.com/liveMedia/public/
+LIVE555_INSTALL_TARGET = YES
+
+define LIVE555_CONFIGURE_CMDS
+       (cd $(@D); ./genMakefiles linux)
+endef
+
+define LIVE555_BUILD_CMDS
+       $(MAKE) C_COMPILER="$(TARGET_CC)"

CPLUSPLUS_COMPILER="$(TARGET_CXX)" LINK="$(TARGET_CXX) -o" -C $(@D) all

package/multimedia/live555/live555.mk new file +5 -0
+endef
+
+ifeq (${BR2_PACKAGE_LIVE555_OPENRTSP},y)
+define LIVE555_INSTALL_OPENRTSP
+       $(INSTALL) -D -m 0755 $(@D)/testProgs/openRTSP

$(TARGET_DIR)/usr/bin

package/multimedia/live555/live555.mk new file +6 -0
+endef
+endif
+
+ifeq (${BR2_PACKAGE_LIVE555_MEDIASERVER},y)
+define LIVE555_INSTALL_MEDIASERVER
+       $(INSTALL) -D -m 0755 $(@D)/mediaServer/live555MediaServer

$(TARGET_DIR)/usr/bin

package/multimedia/live555/live555.mk new file +6 -0
+endef
+endif
+
+ifeq (${BR2_PACKAGE_LIVE555_MPEG2_INDEXER},y)
+define LIVE555_INSTALL_MPEG2_INDEXER
+       $(INSTALL) -D -m 0755 $(@D)/testProgs/MPEG2TransportStreamIndexer

$(TARGET_DIR)/usr/bin

package/multimedia/live555/live555.mk new file +10 -1
+endef
+endif
+
+define LIVE555_INSTALL_TARGET_CMDS
+       $(LIVE555_INSTALL_OPENRTSP)
+       $(LIVE555_INSTALL_MEDIASERVER)
+       $(LIVE555_INSTALL_MPEG2_INDEXER)
+endef
+
+$(eval $(call GENTARGETS,package/multimedia,live555))
--

1.7.3.4

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

Signature · 5 lines
Best Regards!
Kelvin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20110510/53053dc9/attachment-0001.html>
#3 lore raw

PATCH 1/1 Added Live555 RTSP Server package.

In reply to Mike Williams

Hello Mike,

Great patch for a first post to the list!

Quoted 20 lines · On Mon, 9 May 2011 16:14:08 -0400 Mike Williams <[email protected]> wrote:
package/multimedia/live555/Config.in new file +20 -0
+config BR2_PACKAGE_LIVE555
+	bool "Live555"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  LIVE555 Streaming Media forms a set of C++ libraries for multimedia
+	  streaming, using open standard protocols (RTP/RTCP, RTSP, SIP).
+
+	  http://www.live555.com/liveMedia/
+
+config BR2_PACKAGE_LIVE555_OPENRTSP
+	bool "OpenRRTSP"
+	depends on BR2_PACKAGE_LIVE555
+	default y
+	help
+		Live555 RTSP Client.
+		
+config BR2_PACKAGE_LIVE555_MEDIASERVER
+	bool "live555MediaServer"
+	depends on BR2_PACKAGE_LIVE555
+	default y

package/multimedia/live555/Config.in line 30

Quoted 10 lines
package/multimedia/live555/Config.in new file +10 -0
+	help
+		RTSP Server. Supports numerous media formats such as H.264 and MPEG2.
+
+config BR2_PACKAGE_LIVE555_MPEG2_INDEXER
+	bool "MPEG2TransportStreamIndexer"
+	depends on BR2_PACKAGE_LIVE555
+	default y
+	help
+		MPEG2 Transport Stream Indexer. Provides indexes allowing 'trick play'
+		operation in the Live555MediaServer.

Here, you should include something like:

comment "live555 needs C++ compiler"
depends on !BR2_INSTALL_LIBSTDCPP

This allows the user to know that live555 is available, but not selectable due to the lack of C++ support. We typically do that when a package has a dependency on a toolchain option.

Quoted 1 line

+ifeq (${BR2_PACKAGE_LIVE555_OPENRTSP},y)

Our convention is to use $(BR2_PACKAGE_LIVE555_OPENRTSP), i.e normal braces instead of curly braces.

Quoted 12 lines
package/multimedia/live555/live555.mk new file +12 -0
+define LIVE555_INSTALL_OPENRTSP
+	$(INSTALL) -D -m 0755 $(@D)/testProgs/openRTSP $(TARGET_DIR)/usr/bin
+endef
+endif
+
+ifeq (${BR2_PACKAGE_LIVE555_MEDIASERVER},y)
+define LIVE555_INSTALL_MEDIASERVER
+	$(INSTALL) -D -m 0755 $(@D)/mediaServer/live555MediaServer $(TARGET_DIR)/usr/bin
+endef
+endif
+
+ifeq (${BR2_PACKAGE_LIVE555_MPEG2_INDEXER},y)

package/multimedia/live555/live555.mk line 42

Quoted 10 lines
package/multimedia/live555/live555.mk new file +10 -0
+define LIVE555_INSTALL_MPEG2_INDEXER
+	$(INSTALL) -D -m 0755 $(@D)/testProgs/MPEG2TransportStreamIndexer $(TARGET_DIR)/usr/bin
+endef
+endif
+
+define LIVE555_INSTALL_TARGET_CMDS
+	$(LIVE555_INSTALL_OPENRTSP)
+	$(LIVE555_INSTALL_MEDIASERVER)
+	$(LIVE555_INSTALL_MPEG2_INDEXER)
+endef

You could do it a little bit differently:

LIVE555_FILES_TO_INSTALL-$(BR2_PACKAGE_LIVE555_OPENRTSP) += testProgs/openRTSP LIVE555_FILES_TO_INSTALL-$(BR2_PACKAGE_LIVE555_MEDIASERVER) += mediaServer/live555MediaServer LIVE555_FILES_TO_INSTALL-$(BR2_PACKAGE_LIVE555_MPEG2_INDEXER) += testProgs/MPEG2TransportStreamIndexer

And then your LIVE555_INSTALL_TARGET_CMDS would iterate over the LIVE555_FILES_TO_INSTALL-y list, and install the corresponding binaries. Need to be careful about the case where LIVE555_FILES_TO_INSTALL-y is empty because no binary has been selected for installation.

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#4 lore raw

PATCH 1/1 Added Live555 RTSP Server package.

In reply to Mike Williams

Tested on a leopard board DM368 with a codesourcery toolchain (2009q1) and it is working fine.

Guillaume

Le 09/05/2011 22:14, Mike Williams a ?crit :

Quoted 110 lines

From: Mike Williams<[email protected]>

---
  package/multimedia/Config.in          |    1 +
  package/multimedia/live555/Config.in  |   30 ++++++++++++++++++++++
  package/multimedia/live555/live555.mk |   44 +++++++++++++++++++++++++++++++++
  3 files changed, 75 insertions(+), 0 deletions(-)

create mode 100644 package/multimedia/live555/Config.in create mode 100644 package/multimedia/live555/live555.mk

package/multimedia/Config.in +1 -0
index b8a0f21..3ae9d5b 100644
@@ -31,6 +31,7 @@ source "package/multimedia/libsamplerate/Config.in"
  source "package/multimedia/libsndfile/Config.in"
  source "package/multimedia/libtheora/Config.in"
  source "package/multimedia/libvorbis/Config.in"
+source "package/multimedia/live555/Config.in"
  source "package/multimedia/madplay/Config.in"
  source "package/multimedia/mpd/Config.in"
  source "package/multimedia/mpg123/Config.in"
package/multimedia/live555/Config.in new file +30 -0
new file mode 100644
index 0000000..e77c875
@@ -0,0 +1,30 @@
+config BR2_PACKAGE_LIVE555
+	bool "Live555"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  LIVE555 Streaming Media forms a set of C++ libraries for multimedia
+	  streaming, using open standard protocols (RTP/RTCP, RTSP, SIP).
+
+	  http://www.live555.com/liveMedia/
+
+config BR2_PACKAGE_LIVE555_OPENRTSP
+	bool "OpenRRTSP"
+	depends on BR2_PACKAGE_LIVE555
+	default y
+	help
+		Live555 RTSP Client.
+		
+config BR2_PACKAGE_LIVE555_MEDIASERVER
+	bool "live555MediaServer"
+	depends on BR2_PACKAGE_LIVE555
+	default y
+	help
+		RTSP Server. Supports numerous media formats such as H.264 and MPEG2.
+
+config BR2_PACKAGE_LIVE555_MPEG2_INDEXER
+	bool "MPEG2TransportStreamIndexer"
+	depends on BR2_PACKAGE_LIVE555
+	default y
+	help
+		MPEG2 Transport Stream Indexer. Provides indexes allowing 'trick play'
+		operation in the Live555MediaServer.
package/multimedia/live555/live555.mk new file +44 -0
new file mode 100644
index 0000000..ce119d0
@@ -0,0 +1,44 @@
+#############################################################
+#
+# live555 streaming media
+#
+#############################################################
+
+LIVE555_VERSION = latest
+LIVE555_SOURCE = live555-$(LIVE555_VERSION).tar.gz
+LIVE555_SITE = http://www.live555.com/liveMedia/public/
+LIVE555_INSTALL_TARGET = YES
+
+define LIVE555_CONFIGURE_CMDS
+	(cd $(@D); ./genMakefiles linux)
+endef
+
+define LIVE555_BUILD_CMDS
+	$(MAKE) C_COMPILER="$(TARGET_CC)" CPLUSPLUS_COMPILER="$(TARGET_CXX)" LINK="$(TARGET_CXX) -o" -C $(@D) all
+endef
+
+ifeq (${BR2_PACKAGE_LIVE555_OPENRTSP},y)
+define LIVE555_INSTALL_OPENRTSP
+	$(INSTALL) -D -m 0755 $(@D)/testProgs/openRTSP $(TARGET_DIR)/usr/bin
+endef
+endif
+
+ifeq (${BR2_PACKAGE_LIVE555_MEDIASERVER},y)
+define LIVE555_INSTALL_MEDIASERVER
+	$(INSTALL) -D -m 0755 $(@D)/mediaServer/live555MediaServer $(TARGET_DIR)/usr/bin
+endef
+endif
+
+ifeq (${BR2_PACKAGE_LIVE555_MPEG2_INDEXER},y)
+define LIVE555_INSTALL_MPEG2_INDEXER
+	$(INSTALL) -D -m 0755 $(@D)/testProgs/MPEG2TransportStreamIndexer $(TARGET_DIR)/usr/bin
+endef
+endif
+
+define LIVE555_INSTALL_TARGET_CMDS
+	$(LIVE555_INSTALL_OPENRTSP)
+	$(LIVE555_INSTALL_MEDIASERVER)
+	$(LIVE555_INSTALL_MPEG2_INDEXER)
+endef
+
+$(eval $(call GENTARGETS,package/multimedia,live555))