Can't get external transcoding to work

Help
2011-01-08
2013-05-30
  • Martin Korolczuk

    I'm trying to get external transcoding to work without any success. I've tried it on Kubuntu 10.10 (32-bits), Ubuntu 10.10 (32bits), Fedora 14 (64bits), using both the official website examples and my own tries without any success. I should have done something wrong, but what? Maybe you could help me figuring it out.

    After installing MediaTomb and running it at least once (as a service) in order to get the default XML configuration file created, I add the following configuration files into the right places in /etc/mediatomb/config.xml:

    <map from="xyz" to="image/xyz"/>
    <transcoding enabled="yes">
    <transcode mimetype="image/xyz" using="xyz2smiley"/>
    <profile name="xyz2smiley" enabled="yes" type="external">
      <mimetype>image/jpeg</mimetype>
      <accept-url>no</accept-url>
      <first-resource>yes</first-resource>
      <hide-original-resource>yes</hide-original-resource>
      <accept-ogg-theora>no</accept-ogg-theora>
      <use-chunked-encoding>yes</use-chunked-encoding>
      <agent command="/home/media/xyz2smiley.sh" arguments="%in %out"/>
      <buffer size="65536" chunk-size="512" fill-size="1024"/>
    </profile>
    

    The /home/media/xyz2smiley.sh path is fully readable by everyone on the system. The shell file is also executable and works fine from the command line. It contains this:

    1
    2
    #!/bin/bash
    cat /home/media/smiley.jpg > "$2"
    

    The /home/media/smiley.jpg is readable from anyone on the machine. It contains a smiley JPEG image.

    The configuration file is intended to show a smiley image with a MIME Type of image/jpeg for any file with the .xyz extension.

    It does not.

    When I add a dummy empty.xyz file to the database through the MediaTomb GUI, it is added as a image/xyz file and the transcoding script is not executed at all. The expected behavior is to get an image/jpeg MIME type and to see a smiley appearing, served by the transcoding script. But it does not work.

    The right configuration file is launched, since any error in it is correctly handled by MediaTomb with a nice error message.

    I believe I use the right MediaTomb version:

    $ mediatomb --compile-info
    MediaTomb UPnP Server version 0.12.1 - http://mediatomb.cc/
    ===============================================================================
    Copyright 2005-2010 Gena Batsyan, Sergey Bostandzhyan, Leonhard Wimmer.
    MediaTomb is free software, covered by the GNU General Public License version 2
    Compile info:
    -------------
        host:           x86_64-redhat-linux-gnu
        sqlite3:        yes
        mysql:          yes
        libjs:          yes
        libmagic:       yes
        inotify:        yes
        libexif:        yes
        id3lib:         disabled
        taglib:         yes
        ffmpeg          missing
        libmp4v2:       yes
        external transcoding:   yes
        curl:           yes
        YouTube:        yes
        libextractor        disabled
        db-autocreate:      yes
        debug log:      yes
        protocol info extension:yes
        ffmpegthumbnailer:  missing
        lastfmlib:      missing
        data directory:     /usr/share/mediatomb
    

    Any idea would be welcome. Thanks in advance!

     
  • Martin Korolczuk

    I've found what was wrong: the web user interface does not run the transcoder, while it is correctly run from an iPod Touch (through MLPlayer Lite) as well as a French ISP provider Freebox TV (v5).

    My question is now: what is the aim of the web user interface in the case of transcoding? Is it intended to work like this (ignore transcoding) or is it a bug (and transcoding should be done as I expected)?

     

Log in to post a comment.