Back when I first started using Media Center, I tried to get video streaming working to the televisions in the house, and never got anywhere.
The only thing which worked correctly was the default "Sony BD/TV" preset, but the video quality was terrible as it was only sending an SD MPEG2 stream.
Using the "Device Spy" tool from the
Intel UPnP development tools, I was able to get a list of all the formats that the televisions report they accept:
http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_LRG;DLNA.ORG_FLAGS=8cf00000000000000000000000000000,
http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_MED;DLNA.ORG_FLAGS=8cf00000000000000000000000000000,
http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_SM;DLNA.ORG_FLAGS=8cf00000000000000000000000000000,
http-get:*:audio/L16:DLNA.ORG_PN=LPCM;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_HD_60_AC3_T;SONY.COM_PN=AVC_TS_HD_60_AC3_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_HD_50_AC3_T;SONY.COM_PN=AVC_TS_HD_50_AC3_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_HD_60_AC3;SONY.COM_PN=AVC_TS_HD_60_AC3;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_HD_50_AC3;SONY.COM_PN=AVC_TS_HD_50_AC3;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/mpeg:DLNA.ORG_PN=AVC_TS_HD_60_AC3_ISO;SONY.COM_PN=AVC_TS_HD_60_AC3_ISO;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/mpeg:DLNA.ORG_PN=AVC_TS_HD_50_AC3_ISO;SONY.COM_PN=AVC_TS_HD_50_AC3_ISO;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_HD_EU_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_HD_EU;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/mpeg:DLNA.ORG_PN=AVC_TS_HD_EU_ISO;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_HD_NA_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_HD_KO_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_HD_NA;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_HD_KO;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_HD_NA_ISO;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_HD_KO_ISO;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_JP_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_HD_NA_MPEG1_L2_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_HD_60_L2_T;SONY.COM_PN=HD2_60_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_HD_50_L2_T;SONY.COM_PN=HD2_50_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_HD_NA_MPEG1_L2_ISO;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_HD_60_L2_ISO;SONY.COM_PN=HD2_60_ISO;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_HD_50_L2_ISO;SONY.COM_PN=HD2_50_ISO;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_60_AC3_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_50_AC3_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_KO;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_ISO;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_KO_ISO;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_EU_ISO;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_JP_MPEG1_L2_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA_MPEG1_L2_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_60_L2_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_50_L2_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_MPEG1_L2_ISO;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_HD_24_AC3_T;SONY.COM_PN=AVC_TS_HD_24_AC3_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_HD_24_AC3;SONY.COM_PN=AVC_TS_HD_24_AC3;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/mpeg:DLNA.ORG_PN=AVC_TS_HD_24_AC3_ISO;SONY.COM_PN=AVC_TS_HD_24_AC3_ISO;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_JP_AAC_T;DLNA.ORG_FLAGS=8d700000000000000000000000000000,
http-get:*:video/x-mp2t-mphl-188:*
Through some trial and error, I was able to determine a few things:
1. It's a small thing, but enabling the "PlayStation 3 compatible" option for the server makes the cover art display about twice the size it would otherwise when playing music rather than video.
2. The MIME Type
video/vnd.dlna.mpeg-tts does not work with any of the formats that Media Center will convert to - it must be
video/mpeg3. While SD MPEG2 works correctly using
MPEG_PS_NTSC or
MPEG_PS_PAL,
none of the HD MPEG2 formats display correctly.
All of the formats like:
MPEG_TS_HD_NA_ISO do display an image when using the MPEG2-TS encoding options, but they all result in a letterboxed (vertically compressed) image for some reason.
I'm not sure if this is a Media Center issue, or an issue with the televisions. The zoom options are still available on the televisions during playback, so in theory you could encode an anamorphic signal to work around it.
4. I was able to get the H264-TS options working! From reading around the net, and my previous attempts at getting this working, it looked like the 2010 sets simply did not support AVC over DLNA.
The following formats work:
- AVC_TS_HD_24_AC3_ISO
- AVC_TS_HD_50_AC3_ISO
- AVC_TS_HD_60_AC3_ISO
- AVC_TS_HD_EU_ISO
There are a few remaining issues though:
1. If I stop playback via the TV remote, Media Center reports a playback error, and skips to the next item in the playlist instead of stopping.
This is the same behavior I saw with the SRS-X7 speakers I bought a while back too. I don't know if it's a general DLNA issue, or specific to Sony.
2. While I now have HD streaming working, the H264 encoder seems ridiculously demanding.
My CPU is stuck at 100% the entire time something is playing, and I am only able to stream YouTube quality videos to the television smoothly. Even then, the sound will often go out of sync.
If I try to stream a Blu-ray or DVD, playback starts stuttering less than a minute in.
Are there plans to move towards hardware accelerated encoding? (NVENC/QuickSync)
MPEG2 encoding at least leaves the system
usable as it hovers around 30-40% CPU during playback.
The problem is that your only options there are SD (very low quality) or a vertically squashed HD image.
Aside from the squashed image, the MPEG2-TS stream seems to be of acceptable quality.
I'm also wondering if re-encoding is actually necessary if the video is already H.264 encoded?
I know there are potential issues like the television not supporting the current profile, but it seems like putting the existing H.264 stream into an H264-TS container would require a lot less CPU power.
3. The TV uses different Video DLNA Override values depending on the framerate of the video. While Media Center has the option to encode "autofps" streams, I don't see a way to let MC switch between 24/50/60fps.
That said, the typical "1080p24" overlay does not appear when streaming a 24p video, so I'm not sure if it is actually switching the TV to 24Hz anyway.
4. I've had Media Center crash a couple of times when seeking via the TV (which is also very slow) so it doesn't seem to be especially stable.