Hallo Zusammen,
nach dem Freetzen meiner neuen FRITZ!Box 7330 bekam ich Mediatom nicht mehr ans laufen.
Dabei habe ich feststellen müssen, dass sich der Prozess laut Debug-Log beim "ffmpeghandl()" aufhängt. Natürlich immer genau dann, wenn die erste Videodatei erreicht wird. Laut Entwickler scheint das Zusammenspielen von Mediatomb und ffmpeg nicht immer reibungslos zu funktionieren. Das scheint wohl aktuell ähnlich.
Daher habe ich nun die mediatomb.mk wiefolgt verändert:
Meine config.in sieht nun so aus:
Damit kann man nun ffmpeg auswählen oder eben nicht. Ich habe es abgewählt gelassen und alles scheint nun super zu laufen.
Ich habe bisher keine Beeinträchtigungen feststellen können. Im Gegenteil - Videos werden nun wesentlich schneller erfasst. Da ich bisher keine Metadaten in den Videos hinterlegt habe fehlen auch keine Infos, die ffmpeg auslesen würde. Vielleicht hilft dieser Tip ja dem Ein oder Anderen der das selbe Problem hat. Eventuel wäre die obenstehenden Anpassungen auch was für den Trunk?
Gruß
realmeto
nach dem Freetzen meiner neuen FRITZ!Box 7330 bekam ich Mediatom nicht mehr ans laufen.
Dabei habe ich feststellen müssen, dass sich der Prozess laut Debug-Log beim "ffmpeghandl()" aufhängt. Natürlich immer genau dann, wenn die erste Videodatei erreicht wird. Laut Entwickler scheint das Zusammenspielen von Mediatomb und ffmpeg nicht immer reibungslos zu funktionieren. Das scheint wohl aktuell ähnlich.
Daher habe ich nun die mediatomb.mk wiefolgt verändert:
Code:
$(call PKG_INIT_BIN,0.12.1)
$(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.gz
$(PKG)_SOURCE_MD5:=e927dd5dc52d3cfcebd8ca1af6f0d3c2
$(PKG)_SITE:=@SF/mediatomb
$(PKG)_BINARY:=$($(PKG)_DIR)/build/mediatomb
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/sbin/mediatomb
$(PKG)_SHARE_DIR:=/usr/share/mediatomb
$(PKG)_TARGET_WEBIF:=$($(PKG)_DEST_DIR)$($(PKG)_SHARE_DIR)/web/index.html
$(PKG)_DEPENDS_ON += $(STDCXXLIB) curl expat libexif sqlite taglib zlib
ifeq ($(strip $(FREETZ_PACKAGE_MEDIATOMB_WITH_PLAYLIST_SUPPORT)),y)
$(PKG)_DEPENDS_ON += js
endif
ifeq ($(strip $(FREETZ_PACKAGE_MEDIATOMB_WITH_FFMPEG)),y)
$(PKG)_DEPENDS_ON += ffmpeg
endif
$(PKG)_REBUILD_SUBOPTS += FREETZ_STDCXXLIB
$(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_MEDIATOMB_WITH_PLAYLIST_SUPPORT
$(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_MEDIATOMB_WITH_FFMPEG
$(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_MEDIATOMB_STATIC
$(PKG)_REBUILD_SUBOPTS += $(filter FREETZ_LIB_libcurl_% FREETZ_OPENSSL_SHLIB_VERSION,$(CURL_REBUILD_SUBOPTS))
$(PKG)_CONFIGURE_OPTIONS += --disable-rpl-malloc
$(PKG)_CONFIGURE_OPTIONS += --enable-pthread-lib
$(PKG)_CONFIGURE_OPTIONS += --enable-curl
$(PKG)_CONFIGURE_OPTIONS += --enable-inotify
$(PKG)_CONFIGURE_OPTIONS += --enable-libexif
$(PKG)_CONFIGURE_OPTIONS += --enable-sqlite3
$(PKG)_CONFIGURE_OPTIONS += --enable-taglib
$(PKG)_CONFIGURE_OPTIONS += --enable-youtube
$(PKG)_CONFIGURE_OPTIONS += --enable-zlib
$(PKG)_INSTALL_SUBDIRS := config web
ifeq ($(strip $(FREETZ_PACKAGE_MEDIATOMB_WITH_PLAYLIST_SUPPORT)),y)
$(PKG)_INSTALL_SUBDIRS += scripts/js
$(PKG)_CONFIGURE_OPTIONS += --enable-libjs
$(PKG)_CONFIGURE_OPTIONS += --with-js-h="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/include/js"
$(PKG)_CONFIGURE_OPTIONS += --with-js-libs="$(TARGET_TOOLCHAIN_STAGING_DIR)/usr/lib"
else
$(PKG)_CONFIGURE_OPTIONS += --disable-libjs
endif
ifeq ($(strip $(FREETZ_PACKAGE_MEDIATOMB_WITH_FFMPEG)),y)
$(PKG)_CONFIGURE_OPTIONS += --enable-ffmpeg
else
$(PKG)_CONFIGURE_OPTIONS += --disable-ffmpeg
endif
$(PKG)_CONFIGURE_OPTIONS += --disable-ffmpegthumbnailer
$(PKG)_CONFIGURE_OPTIONS += --disable-id3lib
$(PKG)_CONFIGURE_OPTIONS += --disable-lastfmlib
$(PKG)_CONFIGURE_OPTIONS += --disable-libextractor
$(PKG)_CONFIGURE_OPTIONS += --disable-libmagic
$(PKG)_CONFIGURE_OPTIONS += --disable-libmp4v2
$(PKG)_CONFIGURE_OPTIONS += --disable-mysql
$(PKG_SOURCE_DOWNLOAD)
$(PKG_UNPACKED)
$(PKG_CONFIGURED_CONFIGURE)
$($(PKG)_BINARY): $($(PKG)_DIR)/.configured
$(SUBMAKE) -C $(MEDIATOMB_DIR) \
$(if $(FREETZ_PACKAGE_MEDIATOMB_STATIC),\
CURL_LIBS="$$($(TARGET_TOOLCHAIN_STAGING_DIR)/usr/bin/curl-config --static-libs)" \
LDFLAGS="-static" \
STATIC_LINKING_LIBS="-lavcodec -lavutil $(if $(FREETZ_PACKAGE_FFMPEG_DECODER_libopenjpeg),-lopenjpeg) -ldl -lz -lm" \
)
$($(PKG)_TARGET_BINARY): $($(PKG)_BINARY)
$(INSTALL_BINARY_STRIP)
$($(PKG)_TARGET_WEBIF): $($(PKG)_BINARY)
$(foreach d,$(MEDIATOMB_INSTALL_SUBDIRS),$(SUBMAKE) -C $(MEDIATOMB_DIR)/$(d) DESTDIR="$(abspath $(MEDIATOMB_DEST_DIR))" install;)
$(RM) $(MEDIATOMB_DEST_DIR)$(MEDIATOMB_SHARE_DIR)/mysql.sql
touch -c $@
$(pkg):
$(pkg)-precompiled: $($(PKG)_TARGET_BINARY) $($(PKG)_TARGET_WEBIF)
$(pkg)-clean:
-$(SUBMAKE) -C $(MEDIATOMB_DIR) clean
$(RM) $(MEDIATOMB_DIR)/.configured
$(RM) $(MEDIATOMB_FREETZ_CONFIG_FILE)
$(pkg)-uninstall:
$(RM) -r $(MEDIATOMB_TARGET_BINARY) $(MEDIATOMB_DEST_DIR)$(MEDIATOMB_SHARE_DIR)
$(PKG_FINISH)
Meine config.in sieht nun so aus:
Code:
config FREETZ_PACKAGE_MEDIATOMB
bool "mediatomb 0.12.1 (binary only)"
select FREETZ_LIB_libavformat if ! FREETZ_PACKAGE_MEDIATOMB_STATIC
select FREETZ_LIB_libavutil if ! FREETZ_PACKAGE_MEDIATOMB_STATIC
select FREETZ_LIB_libcurl if ! FREETZ_PACKAGE_MEDIATOMB_STATIC
select FREETZ_LIB_libexif if ! FREETZ_PACKAGE_MEDIATOMB_STATIC
select FREETZ_LIB_libexpat if ! FREETZ_PACKAGE_MEDIATOMB_STATIC
select FREETZ_LIB_libpthread if ! FREETZ_PACKAGE_MEDIATOMB_STATIC
select FREETZ_LIB_librt if ! FREETZ_PACKAGE_MEDIATOMB_STATIC
select FREETZ_LIB_libsqlite3 if ! FREETZ_PACKAGE_MEDIATOMB_STATIC
select FREETZ_LIB_libtag if ! FREETZ_PACKAGE_MEDIATOMB_STATIC
select FREETZ_LIB_STDCXXLIB if ! FREETZ_PACKAGE_MEDIATOMB_STATIC
select FREETZ_LIB_STDCXXLIB_WITH_WCHAR
select FREETZ_LIB_libz if ! FREETZ_PACKAGE_MEDIATOMB_STATIC
select FREETZ_LIB_libiconv if FREETZ_TARGET_UCLIBC_VERSION_0_9_28 && ! FREETZ_PACKAGE_MEDIATOMB_STATIC
default n
help
MediaTomb is an open source (GPL) UPnP MediaServer with a nice
web user interface, it allows you to stream your digital media
through your home network and listen to/watch it on a variety
of UPnP compatible devices.
config FREETZ_PACKAGE_MEDIATOMB_WITH_PLAYLIST_SUPPORT
bool "build with playlist and js support"
depends on FREETZ_PACKAGE_MEDIATOMB
select FREETZ_LIB_libjs if ! FREETZ_PACKAGE_MEDIATOMB_STATIC
default n
help
Build MediaTomb with playlist support. This requires
Mozilla JavaScript engine and increases image by about 700KB.
config FREETZ_PACKAGE_MEDIATOMB_WITH_FFMPEG
bool "build with FFMPEG"
depends on FREETZ_PACKAGE_MEDIATOMB
select FREETZ_PACKAGE_FFMPEG if ! FREETZ_PACKAGE_MEDIATOMB_STATIC
select FREETZ_PACKAGE_FFMPEG_PATENTED
select FREETZ_PACKAGE_FFMPEG_LIBDLNA_SUPPORT
default n
help
Build MediaTomb with FFMPEG.
config FREETZ_PACKAGE_MEDIATOMB_STATIC
bool "Create statically linked binary"
depends on FREETZ_PACKAGE_MEDIATOMB
default n
help
Activating this switch causes all libraries
mediatomb depends on to be linked in statically.
Damit kann man nun ffmpeg auswählen oder eben nicht. Ich habe es abgewählt gelassen und alles scheint nun super zu laufen.
Ich habe bisher keine Beeinträchtigungen feststellen können. Im Gegenteil - Videos werden nun wesentlich schneller erfasst. Da ich bisher keine Metadaten in den Videos hinterlegt habe fehlen auch keine Infos, die ffmpeg auslesen würde. Vielleicht hilft dieser Tip ja dem Ein oder Anderen der das selbe Problem hat. Eventuel wäre die obenstehenden Anpassungen auch was für den Trunk?
Gruß
realmeto