FAQ  •  Register  •  Login

Hardware acceleration

<<

masikh@gmail.com

Serviio newbie

Posts: 5

Joined: Fri Dec 04, 2015 5:30 pm

Post Fri Feb 19, 2016 10:16 am

Hardware acceleration

Dear Developer,

It took a while, but I have a hardware accelerated ffmpeg intallation using the h264_qsv codec (intel!),
which enables me to transcode on my GPU, which is confirmed working.

Obviously I like to add this to the ..../config/application-profiles.xml (specific: Ios profile, see below) but
on a restart I receive this error:

2016-02-19 04:55:16,682 ERROR [XmlUtils] XML Profiles.xsd didn't pass validation, reason: cvc-enumeration-valid: Value 'h264_qsv' is not facet-valid with respect to enumeration '[mpeg2video, wmv2, flv, h264]'. It must be a value from the enumeration.
2016-02-19 04:55:16,682 ERROR [MediaServer] An unexpected error occured. Ending the application. Message: org.serviio.profile.ProfilesDefinitionException: Profiles XML file is not valid (according to the schema). Check the log.
java.lang.RuntimeException: org.serviio.profile.ProfilesDefinitionException: Profiles XML file is not valid (according to the schema). Check the log.
at org.serviio.profile.ProfileManager.parseProfilesFromFile(ProfileManager.java:183)
at org.serviio.profile.ProfileManager.loadProfiles(ProfileManager.java:157)
at org.serviio.MediaServer.main(MediaServer.java:127)

Where can I tell serviio that it 'knows' about this codec?

---
xml file:

<Profile id="ios" name="iOS" extendsProfileId="1" alwaysEnableTranscoding="true" selectable="false">
<!-- http://developer.apple.com/library/ios/ ... tions.html -->
<Transcoding>
<!-- only play mp4/h264_qsv(main3 and less)/aac natively -->
<Video targetContainer="applehttp" targetVCodec="h264_qsv" targetACodec="aac" forceStereo="true" forceVTranscoding="true">
<Matches container="*" vCodec="h264_qsv" profile="high" levelGreaterThan="4.1"/>
</Video>
<Video targetContainer="applehttp" targetVCodec="h264_qsv" targetACodec="aac" forceStereo="true">
<Matches container="3gp" />
<Matches container="asf" />
<Matches container="avi" />
<Matches container="flv" />
<Matches container="matroska" />
<Matches container="mpeg" />
<Matches container="mpegts" />
<Matches container="mpegvideo" />
<Matches container="ogg" />
<Matches container="rm" />
<Matches container="wtv" />
<Matches container="mp4" vCodec="mpeg4" />
<Matches container="mp4" vCodec="msmpeg4" />
<Matches container="mp4" aCodec="ac3" />
</Video>
<Audio targetContainer="mp3">
<Matches container="flac" />
<Matches container="ogg" />
<Matches container="lpcm" />
<Matches container="adts" />
<Matches container="asf" />
<Matches container="wavpack" />
<Matches container="mpc" />
<Matches container="ape" />
</Audio>
</Transcoding>
<OnlineTranscoding>
<Video targetContainer="applehttp" targetVCodec="h264_qsv" targetACodec="aac" forceStereo="true">
<Matches container="*" />
</Video>
</OnlineTranscoding>
<GenericTranscoding>
<Video targetContainer="applehttp" targetVCodec="h264_qsv" targetACodec="aac" forceStereo="true" />
</GenericTranscoding>
<AlternativeQualities>
<Quality type="MEDIUM">
<Transcoding>
<Video targetContainer="applehttp" targetVCodec="h264_qsv" targetACodec="aac" forceStereo="true" maxVBitrate="1000" maxHeight="480">
<Matches container="*" />
</Video>
</Transcoding>
<OnlineTranscoding>
<Video targetContainer="applehttp" targetVCodec="h264_qsv" targetACodec="aac" forceStereo="true" maxVBitrate="1000" maxHeight="480">
<Matches container="*" />
</Video>
</OnlineTranscoding>
<GenericTranscoding>
<Video targetContainer="applehttp" targetVCodec="h264_qsv" targetACodec="aac" forceStereo="true" maxVBitrate="1000" maxHeight="480"/>
</GenericTranscoding>
</Quality>
<Quality type="LOW">
<Transcoding>
<Video targetContainer="applehttp" targetVCodec="h264_qsv" targetACodec="aac" forceStereo="true" aSamplerate="22050" maxVBitrate="500" maxHeight="240">
<Matches container="*" />
</Video>
</Transcoding>
<OnlineTranscoding>
<Video targetContainer="applehttp" targetVCodec="h264_qsv" targetACodec="aac" forceStereo="true" aSamplerate="22050" maxVBitrate="500" maxHeight="240">
<Matches container="*" />
</Video>
</OnlineTranscoding>
<GenericTranscoding>
<Video targetContainer="applehttp" targetVCodec="h264_qsv" targetACodec="aac" forceStereo="true" aSamplerate="22050" maxVBitrate="500" maxHeight="240"/>
</GenericTranscoding>
</Quality>
</AlternativeQualities>
<Subtitles>
<HardSubs>
<TextBased supported="true" />
</HardSubs>
</Subtitles>
<ThumbnailsResolution>HD</ThumbnailsResolution>
<AutomaticImageRotation>true</AutomaticImageRotation>
</Profile>
<<

zip

User avatar

Serviio developer / Site Admin

Posts: 17212

Joined: Sat Oct 24, 2009 12:24 pm

Location: London, UK

Post Fri Feb 19, 2016 11:11 pm

Re: Hardware acceleration

It won't work unless it's coded in Serviio.
<<

masikh@gmail.com

Serviio newbie

Posts: 5

Joined: Fri Dec 04, 2015 5:30 pm

Post Sun Feb 21, 2016 11:05 am

Re: Hardware acceleration

Dear developer,

Is there any roadmap on enabling these accelerated codecs? I guess it would be a matter of adding them to the array of existing codecs or am I wrong in this? I rather don't go down the path of: either altering ffmpeg (I have the source) or renaming codecs (ugh yak,)

Enabling h264_qsv would enable me to concurrently stream 10x 1080p non interlaced over HLS. (Yes transcoding). Not doing so enables me to just 1 stream. There's the difference.

Please help, me and my customers do depend on this...
<<

zip

User avatar

Serviio developer / Site Admin

Posts: 17212

Joined: Sat Oct 24, 2009 12:24 pm

Location: London, UK

Post Sun Feb 21, 2016 7:51 pm

Re: Hardware acceleration

Hi,

it should not be too difficult. Raise a bitbucket ticket so that it's recorded and prioritised.

Btw, it looks like you're using serviio for business - you will need to contact sales [at] serviio [dot] org and purchase a business license.

Return to Transcoding

Who is online

Users browsing this forum: Google [Bot], Majestic-12 [Bot] and 34 guests

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