PlayStation 4 Profile - Testing Required
All - further to viewtopic.php?f=7&t=20899#p105012 I'd like to facilitate getting a new profile for the PS4 ready for release with the next version of Serviio (actually aiming for 1.6.1, as 1.6 is targeted for pre-Christmas release).
The following profile is a starting point based on the PS3 profile, teflontacticss' profile from the linked post, and other suggestions in the forum:
- Code:
<Profile id="ps4" name="Playstation 4" extendsProfileId="1">
<!-- http://manuals.playstation.net/document/en/ps4/music/mp_format_m.html
Videos
MKV
Visual: H.264/MPEG-4 AVC High Profile Level4.2
Audio: MP3, AAC LC, AC-3 (Dolby Digital)
AVI
Visual: MPEG4 ASP, H.264/MPEG-4 AVC High Profile Level4.2
Audio: MP3, AAC LC, AC-3 (Dolby Digital)
MP4
Visual: H.264/MPEG-4 AVC High Profile Level4.2
Audio: AAC LC, AC-3 (Dolby Digital)
MPEG-2 TS
Visual: H.264/MPEG-4 AVC High Profile Level4.2, MPEG2 Visual
Audio: MP2 (MPEG2 Audio Layer 2), AAC LC, AC-3 (Dolby Digital)
AVCHD (.m2ts, .mts)
Photos
JPEG (DCF 2.0/Exif 2.21 compliant), BMP, PNG,
Music
MP3, AAC (M4A) -->
<Detection>
<!-- Detection is not yet working - profile must be manually assigned to the device -->
<HttpHeaders>
<User-Agent>.*PlayStation 4.*</User-Agent>
</HttpHeaders>
</Detection>
<Transcoding>
<!-- Transcode all h264 video with HIGH/MAIN > Level 4.2 on MPEG-TS stream with MPEG2VIDEO and AC3 audio transcoding -->
<Video targetContainer="mpegts" targetVCodec="mpeg2video" targetACodec="ac3" aBitrate="384">
<Matches container="*" vCodec="h264" profile="high_10" />
<Matches container="*" vCodec="h264" profile="high" levelGreaterThan="4.2" />
<Matches container="*" vCodec="h264" profile="main" levelGreaterThan="4.2" />
</Video>
<!-- Remux any H264 video with unsupported audio (DTS, FLAC, True-HD, Vorbis) changing audio to ac3,
Also remux all AVI, 3GP, ASF, WMV and FLV with H264 changing audio to AC3 if needed -->
<Video targetContainer="mpegts" targetACodec="ac3" aBitrate="384">
<Matches container="*" vCodec="h264" aCodec="dca" />
<Matches container="*" vCodec="h264" aCodec="dts-hd" />
<Matches container="*" vCodec="h264" aCodec="flac" />
<Matches container="*" vCodec="h264" aCodec="truehd" />
<Matches container="*" vCodec="h264" aCodec="vorbis" />
<Matches container="flv" vCodec="h264" />
<Matches container="3gp" vCodec="h264" />
<Matches container="asf" vCodec="h264"/>
</Video>
<!-- Transcode and/or Remux any unsuported containers, video or audio
Change video to MPEG2VIDEO if needed, and audio to AC3 if needed -->
<Video targetContainer="mpegts" targetVCodec="mpeg2video" targetACodec="ac3" aBitrate="384">
<!-- Unsupported containers -->
<Matches container="asf" />
<Matches container="wtv" />
<Matches container="flv" />
<Matches container="ogg" />
<Matches container="3gp" />
<Matches container="rm" />
<!-- Catch any remaining unsupported video codecs -->
<Matches container="avi" vFourCC="div3,div4,div5,divx,dm4v,dx50,xvid" />
<Matches container="matroska" vCodec="vp8" />
<Matches container="*" vCodec="h263" />
<Matches container="*" vCodec="h265" />
<Matches container="*" vCodec="dvvideo" />
<Matches container="*" vCodec="mjpeg"/>
<Matches container="*" vCodec="mpeg1video"/>
<!-- Catch any remaining unsupported audio codecs -->
<Matches container="*" aCodec="lpcm" />
</Video>
<Audio targetContainer="mp3" aSamplerate="48000">
<Matches container="flac" />
<Matches container="ogg" />
<Matches container="adts" />
<Matches container="wavpack" />
<Matches container="mp2" />
<Matches container="mpc" />
<Matches container="ape" />
<Matches container="lpcm" />
</Audio>
</Transcoding>
<OnlineTranscoding>
<Video targetContainer="mpegts" targetACodec="ac3" aBitrate="384">
<Matches container="mp4"/>
<Matches container="applehttp" vCodec="h264"/>
</Video>
<Video targetContainer="mpegts" targetVCodec="mpeg2video" targetACodec="ac3">
<Matches container="asf"/> <!-- to support mms:// streams -->
</Video>
<Audio targetContainer="mp3" aSamplerate="48000">
<Matches container="mp3"/>
<Matches container="flv"/>
<Matches container="asf"/>
</Audio>
</OnlineTranscoding>
<LimitImageResolution>false</LimitImageResolution>
<AutomaticImageRotation>true</AutomaticImageRotation>
<ThumbnailsResolution>HD</ThumbnailsResolution>
</Profile>
Some things to note:
- To test this profile, open the file profiles.xml located in your Serviio\Config folder, in a text editor (I like Notepad++ for this, but any text editor will do). Copy the profile and paste it into the file just above the last line (that contains </Profiles>). Save the file and restart your PC (or Serviio service if you know how). After Serviio starts assign this profile to your PS4 manually.
- I haven't tested subtitles or online sources as yet.
- I am struggling to get the device to detect so for now this profile needs to be assigned manually.
- Not sure whether Thumbnail resolution has any impact
Reason: Updated profile to reflect changes below (Nutte); removed mime type mapping (not required)