Transcoding files for Playback on Playstation 4
Posted: Mon Aug 19, 2019 6:35 pm
Hi everyone,
I'm new here and don't know much about DLNA/UMS/media encoding, but do know my way around Linux a bit.
I am running a headless UMS server from a Raspberry pi 3b (Ubuntu 16.04), streaming to a Playstation 4 (most updated software version). I have 500+ movie files, the vast majority of which work flawlessly (much better than plex, I must say!!) with zero transcoding, as PS4 only accepts H.264 encoding and that is what most of my media is.
However, there are some .mp4 files which do not play on PS4 (mostly TV series) which are also seemingly H.264. With no transcoding, the PS4 says they do not play. When I try any of the available default transcoders (2 or so are shown on the Ps4 for every file), they still don't work. Specifically, the transcoders available by default are FFmpeg and MEncoder.
Here's an example mediainfo output of a file that does work:
General
Complete name : bad (mr robot s1e1).mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 1.87 GiB
Duration : 1 h 4 min
Overall bit rate mode : Variable
Overall bit rate : 4 131 kb/s
Encoded date : UTC 2015-07-03 23:49:20
Tagged date : UTC 2015-07-03 23:49:20
Writing application : Lavf55.47.100
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High L4.1
Format settings : CABAC / 6 Ref Frames
Format settings, CABAC : Yes
Format settings, ReFrames : 6 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 1 h 4 min
Bit rate : 3 778 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.076
Stream size : 1.71 GiB (91%)
Writing library : x264 core 142 r2431
Encoding settings : cabac=1 / ref=6 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=8 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=18 / lookahead_threads=4 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=6 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=2pass / mbtree=1 / bitrate=3778 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=24000 / vbv_bufsize=24000 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Language : English
Encoded date : UTC 2015-07-03 23:49:20
Tagged date : UTC 2015-07-03 23:49:20
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : mp4a-40-2
Duration : 1 h 4 min
Bit rate mode : Variable
Bit rate : 353 kb/s
Maximum bit rate : 384 kb/s
Channel(s) : 2 channels
Channel(s)_Original : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 161 MiB (8%)
Language : English
Default : Yes
Alternate group : 1
Encoded date : UTC 2015-07-03 23:49:20
Tagged date : UTC 2015-07-03 23:49:20
And a file that plays just fine:
General
Complete name : good (mrs doubtfire).mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/avc1)
File size : 996 MiB
Duration : 2 h 5 min
Overall bit rate mode : Variable
Overall bit rate : 1 113 kb/s
Encoded date : UTC 2014-08-12 22:02:52
Tagged date : UTC 2014-08-12 22:02:52
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High L4.1
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 2 h 5 min
Bit rate : 985 kb/s
Maximum bit rate : 6 175 kb/s
Width : 1 280 pixels
Height : 544 pixels
Display aspect ratio : 2.35:1
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.059
Stream size : 882 MiB (88%)
Writing library : x264 core 142 r2453 ea0ca51
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=4 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=985 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=62500 / vbv_bufsize=78125 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Encoded date : UTC 2014-08-12 22:02:52
Tagged date : UTC 2014-08-12 22:10:00
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : mp4a-40-2
Duration : 2 h 5 min
Bit rate mode : Variable
Bit rate : 124 kb/s
Maximum bit rate : 140 kb/s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 111 MiB (11%)
Language : English
Encoded date : UTC 2014-08-12 21:09:52
Tagged date : UTC 2014-08-12 22:10:00
This is kind of perplexing to me because both files are written with x264, but obviously I'm missing some thing(s). I am not sure what kind of transcoding settings I should set on my server to have the server encode the stream properly for the PS4. Does anyone have experience or expertise in doing this? Or advice for where I should start?
Thanks
I'm new here and don't know much about DLNA/UMS/media encoding, but do know my way around Linux a bit.
I am running a headless UMS server from a Raspberry pi 3b (Ubuntu 16.04), streaming to a Playstation 4 (most updated software version). I have 500+ movie files, the vast majority of which work flawlessly (much better than plex, I must say!!) with zero transcoding, as PS4 only accepts H.264 encoding and that is what most of my media is.
However, there are some .mp4 files which do not play on PS4 (mostly TV series) which are also seemingly H.264. With no transcoding, the PS4 says they do not play. When I try any of the available default transcoders (2 or so are shown on the Ps4 for every file), they still don't work. Specifically, the transcoders available by default are FFmpeg and MEncoder.
Here's an example mediainfo output of a file that does work:
General
Complete name : bad (mr robot s1e1).mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 1.87 GiB
Duration : 1 h 4 min
Overall bit rate mode : Variable
Overall bit rate : 4 131 kb/s
Encoded date : UTC 2015-07-03 23:49:20
Tagged date : UTC 2015-07-03 23:49:20
Writing application : Lavf55.47.100
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High L4.1
Format settings : CABAC / 6 Ref Frames
Format settings, CABAC : Yes
Format settings, ReFrames : 6 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 1 h 4 min
Bit rate : 3 778 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.076
Stream size : 1.71 GiB (91%)
Writing library : x264 core 142 r2431
Encoding settings : cabac=1 / ref=6 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=8 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=18 / lookahead_threads=4 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=6 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=2pass / mbtree=1 / bitrate=3778 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=24000 / vbv_bufsize=24000 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Language : English
Encoded date : UTC 2015-07-03 23:49:20
Tagged date : UTC 2015-07-03 23:49:20
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : mp4a-40-2
Duration : 1 h 4 min
Bit rate mode : Variable
Bit rate : 353 kb/s
Maximum bit rate : 384 kb/s
Channel(s) : 2 channels
Channel(s)_Original : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 161 MiB (8%)
Language : English
Default : Yes
Alternate group : 1
Encoded date : UTC 2015-07-03 23:49:20
Tagged date : UTC 2015-07-03 23:49:20
And a file that plays just fine:
General
Complete name : good (mrs doubtfire).mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/avc1)
File size : 996 MiB
Duration : 2 h 5 min
Overall bit rate mode : Variable
Overall bit rate : 1 113 kb/s
Encoded date : UTC 2014-08-12 22:02:52
Tagged date : UTC 2014-08-12 22:02:52
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High L4.1
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 2 h 5 min
Bit rate : 985 kb/s
Maximum bit rate : 6 175 kb/s
Width : 1 280 pixels
Height : 544 pixels
Display aspect ratio : 2.35:1
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.059
Stream size : 882 MiB (88%)
Writing library : x264 core 142 r2453 ea0ca51
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=4 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=985 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=62500 / vbv_bufsize=78125 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Encoded date : UTC 2014-08-12 22:02:52
Tagged date : UTC 2014-08-12 22:10:00
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : mp4a-40-2
Duration : 2 h 5 min
Bit rate mode : Variable
Bit rate : 124 kb/s
Maximum bit rate : 140 kb/s
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 111 MiB (11%)
Language : English
Encoded date : UTC 2014-08-12 21:09:52
Tagged date : UTC 2014-08-12 22:10:00
This is kind of perplexing to me because both files are written with x264, but obviously I'm missing some thing(s). I am not sure what kind of transcoding settings I should set on my server to have the server encode the stream properly for the PS4. Does anyone have experience or expertise in doing this? Or advice for where I should start?
Thanks