Adding transcode support

<< < 1 2 3 > >> (Page 2 of 3)
  • Greg Watson

    Greg Watson - 2010-06-28

    I don't think my problem is related to the endianness because I'm hearing the music fine. It just stops after a few minutes of playing a track. Also, I've tried running minidlna on my Debian Lenny VM and it streams without problem. When I use the same statically linked executable on the NVX, it exhibits the problem. I wonder if this might be a TCP/IP issue on Etch?

  • Mark

    Mark - 2010-07-05

    Hi - just managed (after much tweaking of makefiles etc,) to get ffmpeg and MiniDLNA to compile using a ReadyNAS Sparc optimised version of libfaad (available here ).  I can now stream both ALAC and aac comfortably from my Duo to the Samsung TV.  Libavcodec's MP3 library is still decoding too slowly to stream - I'm trying to find a solution.

  • Greg Watson

    Greg Watson - 2010-08-28

    Hi folks, not to denigrate minidlna (which is great), but I haven't been able to get transcoding working very reliably. Part of the problem has been setting up an Debian etch development environment, since etch is now so old that it's difficult to find the correct libraries needed for minidlna (with the transcoding patch.)

    However, I recently tried installing the Orb add-on and was surprised to find that it provides audio transcoding which works like a treat! It also allows streaming of video to your iphone which is pretty cool too.

  • Mikhail T.

    Mikhail T. - 2010-12-14

    Sony's TV-products, apparently, only accept video in MPEG2 format (as on DVDs). Being an owner of such a TV, I too would dearly like to see transcoding added to minidlna ASAP.

    Any new releases of the patch since June? Thank you very much for the work.

    I'd think, that, instead of spawning off a separate transcoding process, it would be better to call into ffmpeg's library(ies) and do transcoding inside… To pick the parameters optimal for the receiving device, careful parsing of the client's request would be needed, however - I hope, the request describes client's capabilities.

  • Mike

    Mike - 2010-12-14

    Hi.  I haven't worked on this for a while, but maybe I will take a look at it over the Christmas holiday.  Processing power aside, it shouldn't be too hard to add video transcoding in the same way as the audio (which incidentally does work the way you describe - using libavcodec rather than calling out to ffmpeg).

    I wouldn't be surprised if devices don't bother declaring their capabilities - I can't remember off the top of my head whether any of mine did.  There is supposed to be a mandatory baseline set of capabilities, e.g. I think raw PCM audio has to be supported.  My DLNA badged Nokia phone doesn't, though, so it's just as much of a joke as the rest of DLNA.

  • Mikhail T.

    Mikhail T. - 2010-12-14

    Yes, it would be great, if the video transcoding was just as available as anything else… A separate hack for converting progressive JPEG files into regular JPEG files (none of Sony's products work with progressive JPEG - they all use the same library).

    You are right, of course, about transcoding in-process - I just finished going through MediaTomb's config-file, when I was posting the previous comment :-) Sorry.

  • David

    David - 2010-12-27

    FYI, one concern I have about transcoding support is dependencies.. The processors in some NAS boxes don't even to floating point math, thus many libraries are not ported or compatible. I would therefore suggest that it be possible to build without the transcoding or make transcoding an optional external module of some sort..

  • PCM

    PCM - 2011-02-12

    Is it possible to make the patch to transcode audio files in MP3 or WAV, not LPCM?

  • hiero

    hiero - 2011-02-26

    I uploaded another transcode patch as following.
    3193201 support transcode Video and Audio
    It uses ffmpeg and mencoder as transcoder, therefore both is required to be installed. ffmpeg is for audio and mencoder is for video. audio is transcoded into LPCM and video is transcoded into MPEG2/AC3(DVD), because it is mandatory for DLNA client to support them.


  • FifiTheReal

    FifiTheReal - 2011-02-26

    Hi hieroun,
    Thanx your upload but my Samsung C650 needs samsung specific patch for minidlna.
    Patch for stable minidlna is minidlna.samsung_patch20101009_mta2. This patch and your's not work together. :-(
    Can you modify your patch to minidlna.samsung_patch20101009_mta2?

    Bye, Fifi

  • hiero

    hiero - 2011-02-27

    Hello Fifi,
    I uploaded minidlna_transcode_1.0.18_samsung-support.patch at 3193201.
    This is merged version of mine and yours.
    It works on my Toshiba TV, but I cannot test it on samsung TV because I don't have it.
    Would you check?


  • FifiTheReal

    FifiTheReal - 2011-02-27

    Hello hieroun,

    I tested your patch but my Samsung LE32C650 doesn't play flac, mkv and jpg file, only it plays mp3 :-(
    I created a test directory and put into these files:

    fifi@silent:~/test$ ls -1
    03 - Falling Down.flac

    My debug log is here.

    Bye, Fifi

  • hiero

    hiero - 2011-03-02

    Hello Fifi,

    I updated a revised version : minidlna_transcode_1.0.18_samsung-support_20110302.patch.
    Would you try? I home it works.


  • FifiTheReal

    FifiTheReal - 2011-03-04

    Hi hieroun!

    I tested your minidlna_transcode_1.0.18_samsung-support_20110302.patch.
    The patching is interesting:

    [..]minidlna# patch -p1 < ../minidlna_transcode_1.0.18_samsung-support_20110302.patch 
    patching file Makefile
    Reversed (or previously applied) patch detected!  Assume -R? [n] y
    patching file albumart.c
    Reversed (or previously applied) patch detected!  Assume -R? [n] y
    patching file metadata.c
    Reversed (or previously applied) patch detected!  Assume -R? [n] y
    patching file minidlna.c
    Reversed (or previously applied) patch detected!  Assume -R? [n] y
    patching file minidlna.conf
    Reversed (or previously applied) patch detected!  Assume -R? [n] y
    patching file minidlnatypes.h
    Reversed (or previously applied) patch detected!  Assume -R? [n] y
    patching file options.c
    Reversed (or previously applied) patch detected!  Assume -R? [n] y
    patching file options.h
    Reversed (or previously applied) patch detected!  Assume -R? [n] y
    patching file scanner.c
    Reversed (or previously applied) patch detected!  Assume -R? [n] y
    patching file upnpdescgen.c
    Reversed (or previously applied) patch detected!  Assume -R? [n] y
    patching file upnpdescgen.h
    Reversed (or previously applied) patch detected!  Assume -R? [n] y
    patching file upnpglobalvars.h
    Reversed (or previously applied) patch detected!  Assume -R? [n] y
    patching file upnphttp.c
    Reversed (or previously applied) patch detected!  Assume -R? [n] y
    patching file upnphttp.h
    Reversed (or previously applied) patch detected!  Assume -R? [n] y
    patching file upnpsoap.c
    Reversed (or previously applied) patch detected!  Assume -R? [n] y
    patching file upnpsoap.h
    Reversed (or previously applied) patch detected!  Assume -R? [n] y

    but it works fine!
    It plays mkv, jpg, flac, mp3 and srt with avi.

    Thank you!

    Bye, Fifi

    Ps: Do you plane to apply your patch into CVS?

  • hiero

    hiero - 2011-03-05

    Hello Fifi,

    It's a good news to hear it works fine.
    I made a mistake to generate the patch file.
    Though I will upload fixed version, the result is the same if  answer 'y' to "Reversed  …  Assume -R? "

    I am not the develop member. I do not have a right to submit to the CVS.
    I think more test is needed to confirm the patch does not make any side effect.


  • P Walden

    P Walden - 2011-03-15

    with either of the patches I get the following make error. Any ideas?

    Linking minidlna
    /usr/bin/ld: tagutils/tagutils.o: undefined reference to symbol 'ogg_page_pageno'
    /usr/bin/ld: note: 'ogg_page_pageno' is defined in DSO /usr/lib/ so try adding it to the linker command line
    /usr/lib/ could not read symbols: Invalid operation
    collect2: ld returned 1 exit status
    make: *** [minidlna] Error 1
  • P Walden

    P Walden - 2011-03-15

    Sorry the above was on an up-to-date Fedora 14 system.

  • P Walden

    P Walden - 2011-03-15

    Doh! It was late last night when I posted the above. I just added -logg to the minidlna link command and I was able to build it.

    Appears to work!. Some jerkiness in the transcoding, but that may be my system.

  • P Walden

    P Walden - 2011-03-15

    The jerkiness are actually problems that mencoder has with many of the videos I download from PBS. I download them via get_flash_videos. They come down as  mp4 files. The jerks were caused by mencoder hiccups to bumping up the muxrate. After I up'ed the muxrate to 25000, mencoder would bomb with a "too many audio packets in buffer" error after about 2 minutes of run. the only way to stop this is to drop the mencoder -noskip option, but then A/V synch goes to heck. Appears to be faulty muxing on the site's part. You can play them directly, but mencoder just cannot handle them in real-time. You can transcode them by splitting the audio and viseo streams and then remuxing them. It is not real-time though.

    So I switched the the ffmpeg transcoder and it seems to be working fairly well. The sharpness of the encoding seems a bit worse than mencoder, but a not that anyone would notice and at least it works. The only limits I seem to find are with a few HD mov files from NASA. The 1080i file does have some minor jerks which I attribute to my processor speed. The other mov file artifact is that ffmpeg cannot guess the aspect ratio and sends them over to my Sony BDP-S370 as 4:3 instead of 16:9.

    All-in-all a very impressive patch. You just doubled the utility of my Sony BDP-S370 player, as it will only support mpeg2 files over DLNA. Thank you very much!  Looks like a worthwhile addition to minidlna.

  • hiero

    hiero - 2011-03-17


    I used ffmpeg to transcode video at the first time. But, I found A/V went out of sync after FF/REW. It seems appropriate transcoder and the parameters depend on contents and environment. I think it might be realistic to specify transcoder and parameters through .conf file. I will try it.


  • P Walden

    P Walden - 2011-03-17

    I would agree that the choice of transcoder and transcode parameters should be a configuration record.

    The ffmpeg configuration you hard-coded in the patch works well for me. Mencoder works too, except for the mp4 files from PBS that I mentioned. Unfortunately those are the ones I most often view.

    While you are at it, on my Fedora 14 system, in the Makefile I had to add -logg to the minidlna link record.

  • hiero

    hiero - 2011-03-20

    I uploaded patch against 1.0.19.

    transcoder and transcode option can be specified in .conf file.
    read "minidlna.conf" after patch

    "-logg" has already been added on original Makefile of 1.0.19

  • Robert Nusser

    Robert Nusser - 2013-03-22

    Hi hiero

    I would really appreciate some help with shoutcast playlists, as I was so happy to see this feature added!

    It\\\\\\\'s driving me crazy as the patched code compiles perfectly (Ubuntu 10.04.4, minidlna-1.0.25) and seems to work normally but always shows that the playlists are empty when using a DLNA client. (PS3 and a few iPhone clients)

    It looks good on startup, I think: (Since sourceforge thinks the log output is spam I pasted it here )

    But basically it finds the playlist, opens it, and reads the lines and mentions that it is not foudn in the db.  Does that imply that it is adding it to the db?

    Does this imply it is thus being added to the database?

    But then when browsing such a playlist I see nothing special happening in the logs:

    So… what could I be doing wrong!? :-)


  • hiero

    hiero - 2013-03-22

    Hello Silver,

    Unfortunately, minidlna-1.0.25_transcode.patch does not have shoutcast playlists feature. minidlna_transcode_CVS_20130313.tar.gz has it.

    I will back port the feature onto 1.0.25 patch and upload.
    Wait for a day or so.


<< < 1 2 3 > >> (Page 2 of 3)

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks