[Info] Mediatom stürtzt ständig => ffmpeg deaktivieren

realmeto

Neuer User
Mitglied seit
1 Feb 2011
Beiträge
21
Punkte für Reaktionen
0
Punkte
1
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:

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
 
Danke, hatte genau das gleiche Problem! Vielleicht mach ich da schnell n patch draus und schick den ein, wenn das für dich OK ist.

Im Übrigen ist mediatomb für mich der einzig funktionierende UPnP-Server, nachdem der AVM-Server sich nicht konfigurieren lässt und minidlna beim Indizieren die Box durch zu hohe Last killt.
 
Kostenlos!

Statistik des Forums

Themen
248,876
Beiträge
2,303,698
Mitglieder
378,541
Neuestes Mitglied
FR6r24