Android 3.x Pad dev conf & Transcoding profile

Help other users and get free licenses Wild Media Server (UPnP, DLNA, HTTP)
Post Reply
Diodato
Posts: 2
Joined: Tue Jun 28, 2011 8:58 pm

Android 3.x Pad dev conf & Transcoding profile

Post by Diodato »

Hi Eugene and all,

Recently got as ASUS Eee Pad Transformer and was looking at many media servers. Found Wild Media Server to suit the most of my needs. Thanx for your hard work.
Attached you will find my first attempt at the device configuration file for Android 3.x Pad devices and a corresponding transcoding profile. My goal is to use the native DLNA Control Point and Renderer pre-installed on the Eee Pad, which is called MyNet (based on AwoX SDK).

Taking into consideration the media file support (especially for streaming) of Android 3.x it seems that WebM would be the perfect choice for uPnP/DLNA. Unfortunately MyNet doesn't support WebM (yet). Se we are left with AVC/AAC within a transport stream as the only choice. Unfortunately Android further restricts the transport streams to non seekable.

I have used a different set of parameters for the H264 video coding that you use as default. Absolutely don't want to say that they are the "best". But on my E5200 (2x2.5GHz) and 2GB of RAM they work very well for 720p sources and some 1080p sources.

Tested the handling of audio files and images (both supported natively and not) and extensively played with video support and transcoding. Unfortunately I don't use any internet radio or tv, so that part is untested. But I will in the nearest future since my goal is to have a well defined and configured environment for the ASUS Transformer.

There is caveat though - with AAC transcoding. Seems that the custom ffmpeg build that you use has a bug (as well as all recent "official" ffmpeg builds). Randomly, for about half of the input files, the output audio after transcoding has the bitrate of 6000 (6k) (as reported by WMS) instead of the desired, for instance 160000 (160k). Ffmpeg is called with correct parameter of output AAC audio bitrate, but it doesn't respect them. You can try transcoding by hand a few sample files that you have and for sure you will notice that this happens to some files. If not I can send you a small sample file that exhibits this bug. Unfortunately, even though most PC players, handle this abnormally low bitrate AAC, MyNet simply ignores the audio track.
I have tried manual transcoding with Mencoder (Sherpya-SVN-r32674-4.2.5 build + libfaac v1.28) preserving exactly the same transcoding parameters (w/o subtitles) and the output AAC audio is correct - it has the desired audio bitrate. So it seems that internal parameter passing within ffmpeg to the internal libfaac library. Can you take a look at your sources?

[edit]
Forgot about one thing - multithreading. As you can see in the Pascal script for the attached transcoding profile, I have commented out the a portion of automatic parameter string creation and have forced the thread number to 3. Even though the encoding in ffmpeg (not the MT build) is single threaded, but using more than one thread does help to saturate the load on multi-processor/core machines. The parsing, decoding and encoding can run in separate threads so the overall load balance improves (will reach 100% utilization instead of just 50% in dual core processors). It seems that cfgTranscodingThreadCount is always 1 independent of what's set in the GUI for the WMSMPEG.
Attachments
wmstransTSH264AAC.zip
(1.46 KiB) Downloaded 868 times
android_3x_dlna_1280x720.zip
(2.87 KiB) Downloaded 935 times
Eugene
Posts: 2940
Joined: Tue Nov 17, 2009 8:05 pm

Re: Android 3.x Pad dev conf & Transcoding profile

Post by Eugene »

Hello,
Diodato wrote: There is caveat though - with AAC transcoding. Seems that the custom ffmpeg build that you use has a bug (as well as all recent "official" ffmpeg builds). Randomly, for about half of the input files, the output audio after transcoding has the bitrate of 6000 (6k) (as reported by WMS) instead of the desired, for instance 160000 (160k). Ffmpeg is called with correct parameter of output AAC audio bitrate, but it doesn't respect them. You can try transcoding by hand a few sample files that you have and for sure you will notice that this happens to some files. If not I can send you a small sample file that exhibits this bug.
Please send a sample file to support@wildmediaserver.com
Diodato wrote: Forgot about one thing - multithreading. As you can see in the Pascal script for the attached transcoding profile, I have commented out the a portion of automatic parameter string creation and have forced the thread number to 3. Even though the encoding in ffmpeg (not the MT build) is single threaded, but using more than one thread does help to saturate the load on multi-processor/core machines. The parsing, decoding and encoding can run in separate threads so the overall load balance improves (will reach 100% utilization instead of just 50% in dual core processors). It seems that cfgTranscodingThreadCount is always 1 independent of what's set in the GUI for the WMSMPEG.
The problem (with cfgTranscodingThreadCount) in version 1.10rcX, thanks for notice.
Diodato
Posts: 2
Joined: Tue Jun 28, 2011 8:58 pm

Re: Android 3.x Pad dev conf & Transcoding profile

Post by Diodato »

Hi all,

Attached you will find revised device and transcoding profiles.
Changes:
1) android_3x_dlna_1280x720
- I mistook before, TS support is only for MPEG TS, not AVC TS
- at least ASUS has introduced hardware decoding of WMV (WMV9/VC1), so I have added such file support
- tested image files with 3072x2304 (7M) and have had no problems, so I raised the pixel number to 7077888
2) wmstransTSH264AAC
- added seek support for transcoding (even though not supported under Android with the TS container), might be helpful for anyone trying to play around with own settings (like PS container)
Attachments
wmstransTSH264AAC.zip
version2 (25/01/2012)
(2.03 KiB) Downloaded 755 times
android_3x_dlna_1280x720.zip
version 2 (25/01/2012)
(3.12 KiB) Downloaded 829 times
Post Reply