FAQ  •  Register  •  Login

Transcoding with fixed-point codecs

<<

mpi

Serviio lover

Posts: 66

Joined: Fri Nov 18, 2011 9:15 pm

Post Tue Mar 06, 2012 2:31 pm

Transcoding with fixed-point codecs

Hi,

As we all know ARM-based platforms (like on many NAS) are quite challenged when transcoding needs kick-in (mandatory for online content).
However it turns-out that some codecs (like ac3) exist within ffmpeg as fixed-point implementations: this could probably drastically help to lower the CPU load on ARM platform. (I'm unsure about the complete list of fixed-point codecs though).

Would it be possible to have an additional option within "transcoding" preference, in order to favor such fixed-point AV codecs?
If a renderer can accept several possible input formats, then Serviio would pick the one that can be delivered by fixed-point implementation. If several, then some quality criteria may apply, etc...

Currently the only option is "Produce the best video quality", but one could chose different tradeoff with more granularity (including server performance): of course we would need to name it something less geeky than "fixed-point"...

Thanks for your thoughts on this.
<<

zip

User avatar

Serviio developer / Site Admin

Posts: 17212

Joined: Sat Oct 24, 2009 12:24 pm

Location: London, UK

Post Wed Mar 07, 2012 11:15 am

Re: Transcoding with fixed-point codecs

could do if you can et me some information about how FFmpeg does it, which codecs are supported, etc.
<<

mpi

Serviio lover

Posts: 66

Joined: Fri Nov 18, 2011 9:15 pm

Post Thu Mar 08, 2012 8:47 am

Re: Transcoding with fixed-point codecs

Hi zip,

Thanks for considering this.
It seems ffmpeg has ac3_fixed parameter, to call fixed-point implementation for ac3 codec: it was discussed at some point in another topic here, and logged into issue #475 https://bitbucket.org/xnejp03/serviio/issue/475/add-switch-to-use-ac3_fixed-for-encoding for encoder side.
Ffmpeg doxygen shows them http://ffmpeg.org/doxygen/trunk/files.html

I looked a bit around and I'm afraid it might be the only significant codec available in ffmpeg at this point...
Unfortunately, WMA is critically missing, and while some work has happened through Rockbox project, it does not seem it has been re-integrated-back into ffmpeg yet (it shows-up in VLC though).

ac3 would be an interesting start though.

On top of fixed-point implementation, could we allow some trade-off between quality and performance?
Just to take an exemple, I tried to stream some online content to my Sony TV with my NAS: Serviio spun-off the following process:
  Code:
ffmpeg -i mmsh://videozones.francetv.fr/france-dom-tom/Autre/Autre/2012/S09/J7/391130_kairos_20120304.wmv -y -threads 1 -async 1 -vcodec mpeg2video -b 17000k -maxrate 17000k -bufsize 17000k -r 25 -g 15 -copyts -acodec ac3 -ab 192k -ac 2 -map 0:0 -map 0:1 -sn -f mpegts /var/folders/sW/sWIalIi4FqOeq3niLiEHV++++TI/-Tmp-/Serviio/transcoding-temp-1000000000020001-MPEG2TS.stf
Maybe if I could compromise on bitrate or other parameters, WMV decoding would be more acceptable on my NAS platform.
Of course Serviio should not become too complex to configure with tons of geek options, but ability to make some quality/performance tradeof would be very welcome.

Thanks for your support.
<<

zip

User avatar

Serviio developer / Site Admin

Posts: 17212

Joined: Sat Oct 24, 2009 12:24 pm

Location: London, UK

Post Fri Mar 09, 2012 1:16 pm

Re: Transcoding with fixed-point codecs

you can change maximum bitrate in the transcoding config of the profile (in profiles.xml)

Return to Transcoding

Who is online

Users browsing this forum: No registered users and 27 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.