Transcoding Issues, I think

Help
Dan Dunk
2010-04-12
2013-04-25
  • Dan Dunk
    Dan Dunk
    2010-04-12

    Hey everyone,

    I've been trying to get FUPPES installed and working for a while now. I've gone from installing from source to using the ebuild for gentoo. As it sits right now I've installed the ebuild (cleaned my mess from the prior source installs) and it will run automatically on startup without a hiccup. Now I can't figure out why it won't play XVID files. From what I can tell it's not transcoding. After modifying the ebuild to add transcoding. It still doesn't work. I've modified fuppes.cfg using the information on the wiki page pertaining to setting it up on a PS3 but that didn't make any difference.  Now I'm just frustrated and at a loss. I'm sure it's something stupid but I can't figure it out.

    Here are my fuppes.cfg and the ebuild I used to install it. If there's something else that could be of use, please let me know. I'm not the most exerienced linux user in the world but google is a know-it-all. It's not very often I get stuck like this. Any help would be much appreciated, the wife is pissed that the only movies that don't work are the ones she wants to watch.

    Dan

    fuppes.cfg

    <?xml version="1.0" encoding="UTF-8"?>
    <fuppes_config version="0.7.2.3">
      <shared_objects>
        <dir>/media</dir>
      </shared_objects>
      <network>
        <!-empty = automatic detection->
        <interface>eth0</interface>
        <!-empty or 0 = random port->
        <http_port>1080</http_port>
        <!-list of ip addresses allowed to access fuppes. if empty all ips are allowed->
        <allowed_ips>
        </allowed_ips>
      </network>
      <content_directory>
        <!-a list of possible charsets can be found under:
          http://www.gnu.org/software/libiconv/->
        <local_charset>UTF-8</local_charset>
        <!-libs used for metadata extraction when building the database. ->
        <use_imagemagick>true</use_imagemagick>
        <use_taglib>true</use_taglib>
        <use_libavformat>true</use_libavformat>
      </content_directory>
      <transcoding>
        <!-->
        <audio_encoder>lame</audio_encoder>
        <!-->
        <transcode_vorbis>true</transcode_vorbis>
        <transcode_musepack>true</transcode_musepack>
        <transcode_flac>true</transcode_flac>
      </transcoding>
      <device_settings>
        <!-"default" settings are inhertied by specific devices and can be overwritten->
        <!-do NOT remove the "default" device settings->
        <device name="default">
          <!-specify the maximum length for file names (0 or empty = unlimited)->
          <max_file_name_length>0</max_file_name_length>
          <!-->
          <playlist_style>file</playlist_style>
          <show_childcount_in_title>false</show_childcount_in_title>
          <enable_dlna>false</enable_dlna>
          <transcoding_release_delay>4</transcoding_release_delay>
          <file_settings>
            <!-audio files->
            <file ext="mp3">
              <type>AUDIO_ITEM</type>
              <mime_type>audio/mpeg</mime_type>
              <dlna>MP3</dlna>
            </file>
            <file ext="ogg">
              <type>AUDIO_ITEM</type>
              <mime_type>application/octet-stream</mime_type>
              <transcode enabled="true">
                <ext>mp3</ext>
                <mime_type>audio/mpeg</mime_type>
                <dlna>MP3</dlna>
                <http_encoding>chunked</http_encoding>
                <decoder>vorbis</decoder>
                <encoder>lame</encoder>
                <bitrate>192</bitrate>
                <samplerate>44100</samplerate>
              </transcode>
            </file>
            <file ext="mpc">
              <type>AUDIO_ITEM</type>
              <mime_type>application/octet-stream</mime_type>
              <transcode enabled="true">
                <ext>mp3</ext>
                <mime_type>audio/mpeg</mime_type>
                <dlna>MP3</dlna>
                <http_encoding>chunked</http_encoding>
                <decoder>musepack</decoder>
                <encoder>lame</encoder>
                <bitrate>192</bitrate>
                <samplerate>44100</samplerate>
              </transcode>
            </file>
            <file ext="wav">
              <type>AUDIO_ITEM</type>
              <mime_type>audio/x-wav</mime_type>
            </file>
            <file ext="flac">
              <type>AUDIO_ITEM</type>
              <mime_type>audio/x-flac</mime_type>
              <transcode enabled="true">
                <ext>mp3</ext>
                <mime_type>audio/mpeg</mime_type>
                <dlna>MP3</dlna>
                <http_encoding>chunked</http_encoding>
                <decoder>flac</decoder>
                <encoder>lame</encoder>
                <bitrate>192</bitrate>
                <samplerate>44100</samplerate>
              </transcode>
            </file>
            <file ext="wma">
              <type>AUDIO_ITEM</type>
              <mime_type>audio/x-ms-wma</mime_type>
              <dlna>WMAFULL</dlna>
            </file>
            <!-image files->
            <file ext="jpg">
              <ext>jpeg</ext>
              <type>IMAGE_ITEM</type>
              <mime_type>image/jpeg</mime_type>
              <convert enabled="false">
                <!-<dcraw enabled="true">-q 0</dcraw>->
                <ext>png</ext>
                <mime_type>image/png</mime_type>
                <height>0</height>
                <width>0</width>
                <!-set "greater" to "true" if you only want to resize images greater than "height" or "width"->
                <greater>false</greater>
                <!-set "less" to "true" if you only want to resize images less than "height" or "width"->
                <less>false</less>
                <!-set "less" and "greater" to "false" if you always want to resize->
              </convert>
            </file>
            <file ext="bmp">
              <type>IMAGE_ITEM</type>
              <mime_type>image/bmp</mime_type>
            </file>
            <file ext="png">
              <type>IMAGE_ITEM</type>
              <mime_type>image/png</mime_type>
            </file>
            <file ext="gif">
              <type>IMAGE_ITEM</type>
              <mime_type>image/gif</mime_type>
            </file>
            <!-video files->
            <file ext="mpg">
              <ext>mpeg</ext>
              <type>VIDEO_ITEM</type>
              <mime_type>video/mpeg</mime_type>
            </file>
            <file ext="mp4">
              <type>VIDEO_ITEM</type>
              <mime_type>video/mp4</mime_type>
            </file>
            <file ext="avi">
              <type>VIDEO_ITEM</type>
              <mime_type>video/x-msvideo</mime_type>
            </file>
            <file ext="wmv">
              <type>VIDEO_ITEM</type>
              <mime_type>video/x-ms-wmv</mime_type>
            </file>
            <file ext="vob">
              <type>VIDEO_ITEM</type>
              <mime_type>video/x-ms-vob</mime_type>
            </file>
            <file ext="vdr">
              <type>VIDEO_ITEM</type>
              <mime_type>video/x-extension-vdr</mime_type>
              <transcode enabled="true">
                <ext>vob</ext>
                <mime_type>video/x-ms-vob</mime_type>
              </transcode>
            </file>
            <file ext="flv">
              <type>VIDEO_ITEM</type>
              <mime_type>application/x-flash-video</mime_type>
            </file>
            <file ext="asf">
              <type>VIDEO_ITEM</type>
              <mime_type>video/x-ms-asf</mime_type>
            </file>
            <!-playlists->
            <file ext="pls">
              <type>PLAYLIST</type>
              <mime_type>audio/x-scpls</mime_type>
            </file>
            <file ext="m3u">
              <type>PLAYLIST</type>
              <mime_type>audio/x-mpegurl</mime_type>
            </file>
          </file_settings>
        </device>
        <!-If you have more than one device it is a good idea to set the ip address manually as some devices may have conflicting "user agents".->
        <!-It is safe to remove unneeded devices->
        <device name="PS3" enabled="true">
          <user_agent>UPnP/1.0 DLNADOC/1.50</user_agent>
          <user_agent>PLAYSTATION3</user_agent>
          <ip>192.168.1.10</ip>
          <enable_dlna>true</enable_dlna>
          <transcoding_release_delay>50</transcoding_release_delay>
          <file_settings>
            <file ext="ogg">
              <type>AUDIO_ITEM_MUSIC_TRACK</type>
              <transcode enabled="true">
                <http_encoding>stream</http_encoding>
              </transcode>
            </file>
            #<file ext="avi">
            #  <type>VIDEO_ITEM</type>
            #  <mime_type>video/x-divx</mime_type>
            #</file>

    # Added from fuppes wiki site for PS3
    <file ext="avi">
    <type>VIDEO_ITEM</type>
      <mime_type>video/x-divx</mime_type>
      <transcode enabled="false">
        <transcoder>ffmpeg</transcoder>
        <ext>mpg</ext>
        <mime_type>video/mpeg</mime_type>
        <video_codec vcodec="msmpeg4">mpeg1video</video_codec>
        <video_bitrate>1800000</video_bitrate>
        <audio_codec acodec="wmav2">mp2</audio_codec>
        <audio_samplerate>44100</audio_samplerate>
        <audio_bitrate>192000</audio_bitrate>
      </transcode>
    </file>
    <file ext="mkv">
            <type>VIDEO_ITEM</type>
            <mime_type>video/x-matroska</mime_type>
            <transcode enabled="true">
              <transcoder>ffmpeg</transcoder>
              <ext>mpg</ext>
              <mime_type>video/mpeg</mime_type>
              <video_codec>mpeg2video</video_codec>
              <video_bitrate>1800000</video_bitrate>
              <audio_codec>mp2</audio_codec>
              <audio_samplerate>44100</audio_samplerate>
              <audio_bitrate>192000</audio_bitrate>
            </transcode>
          </file>
    # End of Add (Still doesn't work)

            <file ext="mpg">
              <type>VIDEO_ITEM</type>
              <transcode enabled="true">
                <transcoder>ffmpeg</transcoder>
                <mime_type>video/mpeg</mime_type>
                <ext>mpg</ext>
                <video_codec>copy</video_codec>
                <audio_codec>mp2</audio_codec>
                <audio_samplerate>44100</audio_samplerate>
                <audio_bitrate>192000</audio_bitrate>
              </transcode>
            </file>
            <file ext="mkv">
              <type>VIDEO_ITEM</type>
              <mime_type>video/x-matroska</mime_type>
              <transcode enabled="true">
                <transcoder>ffmpeg</transcoder>
                <ext>mpg</ext>
                <mime_type>video/mpeg</mime_type>
                <video_codec>mpeg2video</video_codec>
                <video_bitrate>1800000</video_bitrate>
                <audio_codec>mp2</audio_codec>
                <audio_samplerate>44100</audio_samplerate>
                <audio_bitrate>192000</audio_bitrate>
              </transcode>
            </file>
          </file_settings>
        </device>
      </device_settings>
    </fuppes_config>

    eBuild

    # Copyright 1999-2009 Gentoo Foundation
    # Distributed under the terms of the GNU General Public License v2
    # $Header: $

    EAPI=2

    WANT_AUTOCONF=latest
    WANT_AUTOMAKE=latest

    inherit eutils linux-mod autotools subversion

    ESVN_REPO_URI="https://fuppes.svn.sourceforge.net/svnroot/fuppes/trunk/"

    DESCRIPTION="Fuppes is an open source UPnP MediaServer"
    HOMEPAGE="http://fuppes.ulrich-voelkel.de/"
    KEYWORDS="~amd64 ~x86"
    LICENSE="GPL-2"
    SLOT="0"

    IUSE="+transcode +imagemagick faad +flac muse lame +mad +taglib +twolame gnome notify"

    DEPEND="dlna? ( media-libs/libdlna )
    imagemagick? ( media-gfx/imagemagick )
    transcode? ( media-video/ffmpeg )
    "

    RDEPEND="${DEPEND}
    faad?  ( media-libs/faad2 )
    flac? ( media-libs/flac )
    gnome? ( gnome-base/gnome-panel )
    virtual/libiconv
    lame? ( media-sound/lame )
    mad? ( media-libs/libmad )
    muse? ( media-libs/libmpcdec )
    notify? ( x11-libs/libnotify )
    taglib? ( media-libs/taglib )
    twolame? ( media-sound/twolame )
    >=dev-db/sqlite-3.2
    dev-libs/libpcre
    dev-libs/libxml2
    "

    pkg_setup() {

    enewgroup fuppes
    enewuser fuppes -1 -1 /dev/null mediatomb
    }

    src_unpack() {
    subversion_src_unpack

    eautoreconf -vfi
    }

    src_configure() {
    local myconf
    #-------> Added -enable-transcoder-ffmpeg here which had it show up under transcoding on the fuppes status page
    use transcode || myconf="${myconf} -enable-transcoder-ffmpeg -disable-libavformat"
    use gnome && myconf="${myconf} -enable-gnome-panel-applet"

    # Added by myself on April 4th, to enable transcoding support
    myconf="-enable-transcoder-ffmpeg"

    econf \
    -prefix=/usr \
    $(use_enable faad) \
    $(use_enable lame) \
    $(use_enable mad) \
    $(use_enable notify inotify) \
    $(use_enable taglib) \
    $(use_enable twolame) \
    ${myconf} || die "configure failed"
    }

    src_compile() {
    emake || die "Make failed!"
    }

    src_install() {
    emake DESTDIR="${D}" install || die "Install failed!"

    newinitd ${FILESDIR}/fuppes-init fuppes

    keepdir /var/lib/${PN}
    keepdir /var/log/${PN}

    # Filename of sample.cfg - use live filename if available

    local sample=${PN}.cfg

    [] && sample="${sample}.sample"
    insinto /etc/${PN}
    insopts -m 0664 -o root -g ${PN}

    newins "${FILESDIR}/${P}.cfg.sample" "${sample}" || die "sample fuppes.cfg install failed"

    # Filename of sample vfolder.cfg
    insinto /etc/${PN}
    insopts -m 0664 -o root -g ${PN}
    newins "vfolder.cfg" "vfolder.cfg.sample" || die "sample vfolder.cfg install failed"
    }

    pkg_postinst() {

    chown ${PN}:${PN} /var/lib/${PN}
    chown ${PN}:${PN} /var/log/${PN}

    elog "To start Fuppes:"
    elog "/etc/init.d/fuppes start"
    elog
    elog "To start Fuppes at boot:"
    elog "rc-update add fuppes default"
    elog
    elog "The Fuppes web interface can be reached at:"
    elog "http://localhost:36053/"
    }

     

  • Anonymous
    2010-09-07

    Did you get this working? If so, please can you share?

     
  • Dan Dunk
    Dan Dunk
    2010-09-07

    I actually just gave up on trying to get Fuppes working properly and switched to Playstation Media Server. I don't have a HD television so any HD decoding isn't necessary. I couldn't get a reply here and any place I looked for support I couldn't find an answer.

    Best of luck,
    Dan

     
  • If either one of you is still trying to get fuppes to work, I strongly discourage the use of an ebuild, since the build configuration and all that stuff has been changing really often making the ebuild that is attached there probably outdated. It is just best to compile manually.

    Also, I don't know what the build was when this was first attempted, but at least nowadays that fuppes.cfg is of a wrong format, since the device settings have been moved to their own configuration files.

     
  • Well, very recently, I have picked it up again and started trying to make it compile with CMake instead I have been very busy this year. I find it nicer and the build time halved though it is still a little flaky around the edges. You can see what I have here (http://massaioli.homelinux.com/git/?p=fuppes.git;a=shortlog;h=refs/heads/cmake) and I'll want to put more work in before going further I don't know what time I have to do things so I'll try and get what I can done but if you want to help out then I say why not. Infact it is probably time to move to github instead so that people can branch nicely and just help without asking; I know that both Uli and I are too quiet at the moment. Would that sound like a good idea to you if we made a branch on github while still keeping this one here?

     
  • If I understand correctly CMake is a replacement for automake/autoconf?

    A Github or codaset project would be great, it would simplify collaboration greatly. I never really understood the reason for having both svn and git for the project.