Alexander Leidinger

Just another weblog

Dec
03

Stream­ing video to a Sony Bravia (via DLNA)

I have a Sony Bravia TV with a net­work (eth­er­net) con­nec­tion. Let­ting aside the fact that he is in another sub­net than my NAS and as such I can not use a DLNA (UPnP-AV) server (it is using mul­ti­cast and the Sim­ple Ser­vice Dis­cov­ery Pro­to­col (SSDP) which is not tra­vers­ing sub­nets in the WLAN-LAN-ADSL-router I use), there is no good expla­na­tion from Sony what I can feed to the TV.

When search­ing the net I can find some obscure sug­ges­tions and descrip­tions, but not all of them work for all peo­ple which try them. So it seems I have to research this myself. Luck­ily my router has a build-in UPnP-AV server which I can use to play around (the file size is lim­ited to the size of the USB mem­ory stick I have con­nected to the router, as he can not stream con­tent which is avail­able in a NAS in the network).

Sony tells the TV is able to receive MPEG2 TS and PS con­tain­ers. MPEG2 PS is more or less what you have on DVD. It is able to play SD and HD con­tent from the PS con­tainer, and the video for­mat needs to be MPEG2. They do not explain what SD or HD means in this con­text (the valid res­o­lu­tions), and they do not tell what kind of audio is allowed.

For the MPEG2 TS con­tainer they addi­tion­ally allow H.264 video, and they spec­ify EU, EU-T and EU-ISO as sup­ported in this case. Again, they do not explain what those EU* parts are sup­posed to mean.

For the unspec­i­fied audio I assume this means AC-3, AAC and MPEG Audio Layer 2 (some peo­ple use MP2 to describe this audio for­mat). I suc­cess­fully tested AAC and AC-3, and I have read that MP2 works too. Based upon my expe­ri­ences with the video part (more below) I assume the sam­pling rate and bitwidth mat­ter. So far I tried with 48 kHz and 16 bit per channel.

For the EU* parts I have not found any trust­wor­thy ref­er­ence what this could mean, but it looks this refers to some aspects of DVB/DVB-T/DVB-S(2) as it is used in Europe. I guess this is a bit linked with valid res­o­lu­tions the TV is able to handle.

For the video part I have found mixed reports. From hat I have read in the Wikipedia page of the H.264 video for­mat, I assumed the fail­ures are related to a wrong res­o­lu­tion and maybe the fact that some parts of the video do not con­form to spe­cific “lev­els” of the H.264 for­mat. Some tell you are not allowed to use more than X ref­er­ence frames, some tell you can not use advanced fea­ture Y.

The first test I did was to take the Sin­tel video from Blender. I down­loaded the MP4 ver­sion and remuxed it into a MPEG2-TS con­tainer (I used tsMuxeR to do this). The TV was able to play the AAC audio, but it did not show the video. When I look at the video prop­er­ties, I see that it has a res­o­lu­tion of 1280×544 at 24 FPS. For H.264 videos which use the “High” pro­file and are com­pat­i­ble up to level 4.1, I do not see this res­o­lu­tion listed as valid in the Wikipedia page. Valid res­o­lu­tions are 1280×720 at 30, 60 and 68.3 FPS, and 1280×1024 at 42.2 FPS. This could explain why it is not working.

As a sec­ond test I took a video resized it to 624×256 (I did not pay much atten­tion to the scale in the pro­gram I used to test this, I just hoped it takes a good one, now that I try to sum­ma­rize what I inves­ti­gated so far, I see that this size is not one of the valid sizes listed in the lev­els for H.264) at 23.976 FPS and reen­coded it with the default options of the x264 encoder. The result­ing video played just fine on the TV.

My third test was to encode a resized (from 640×272 to 640×480) video at 23.976 FPS with weighted, upto 4 adap­tive B-frames, mixed ref­er­ences, 4 ref­er­ence frames, and some other options (this includes B-pyramid, which seems to be enabled by default). And again, the result­ing video played just fine (despite the fact that I found com­ments in the net which sug­gest that B-pyramid needs to be disabled…).

I still have to test some HD sizes, but it looks like one key aspect for com­pat­i­bil­ity is that the video is encoded with the right res­o­lu­tion (I have to admit, I do not really know what this means, as one video had a res­o­lu­tion which was dif­fer­ent from what the valid sizes for the H.264 lev­els are) and com­plies to only level 4.1 (or 4) and below (basi­cally this means to obey some bitrate lim­i­ta­tions and the num­ber of max. ref­er­ence frames for the given res­o­lu­tion). The 23.976 FPS I men­tioned above are not listed as one of the valid FPS in the lev­els for H.264, so I do not think the FPS have to strictly con­form to what is spec­i­fied for the lev­els. It looks more this is just an upper limit so that the video could also use some lower FPS.

So far I took the sin­tel video and added some black bor­ders on top and below to get to the 1080×720 res­o­lu­tion. I used avide­mux 2.5.4 for this. The ver­sion I tried can only pro­duce a MP4 con­tainer with this video/audio com­bi­na­tion, and my hope was to remux it with tsMuxeR to a MPEG2-TS, but tsMuxeR does not find a valid video or audio stream inside the MP4 con­tainer. I am still search­ing for a pro­gram which is able to remux the result­ing MP4 into a MPEG2-TS. I found a tool which extracts the streams from the MP4 con­tainer, but the only free MPEG2-TS muxer seems to be tsMuxeR, which I was not able to con­vince to mux the two streams into a MPEG2-TS file. It seems I have either to wait until avide­mux knows how to gen­er­ate MPEG2-TS streams with H.264 and AAC, or until it gen­er­ates a MP4 con­tainer with H.264 and AAC which tsMuxeR is able to handle.

What I also want to test is, if I can use the open-gop options (either in “nor­mal” or in “blu­ray” mode), but I did not took the time to test this.

The only think I can tell defin­i­tively ATM is, that despite to all the infor­ma­tion I found in the net about this, noth­ing can be told about the hard require­ments except, that the video encod­ing can not exceed level 4.1 (or 4), because so far no hard­ware decoder chip seems to sup­port a higher level. It seems I can use more or less all options avail­able for the H.264 encod­ing, and the res­o­lu­tion and FPS does not seem to mat­ter that much. I looks more that you have to find a ver­sion of an H.264 encoder which works for you, and after that you can more or less do what you want.

GD Star Rat­ing
load­ing…
GD Star Rat­ing
load­ing…
Share

Tags: , , , , , , , , ,

2 Responses to “Stream­ing video to a Sony Bravia (via DLNA)”

  1. Arthur Says:

    I’ve just got a Bravia TV as well, but haven’t got round to set­ting up DLNA stream­ing yet.(I’ve got builders in as well.) I’d pre­sume that HD in this case is the TV’s native res­o­lu­tion of 1920×1080, and that SD is stan­dard def­i­n­i­tion for PAL/SECAM as we’re in Europe. That’s 576 pix­els high, and the width depends on whether it’s 4:3 or 16:9 ratio.

    GD Star Rating
    loading...
    GD Star Rating
    loading...
  2. netchild Says:

    It is not as easy as that. The TV is for sure able to han­dle the 720p and 1080i res­o­lu­tions (I have TV chan­nels which use them). I am not sure about 1080p. It is also able to han­dle 480p (e.g. when you con­nect a Wii with a spe­cial cable and change the res­o­lu­tion in the options of the Wii). As you can read in the text, I already suc­cess­fully tried a SD res­o­lu­tion which is dif­fer­ent from what is used in TV chan­nels in PAL/SECAM respec­tively PAL plus. And if you look at the table about the dif­fer­ent lev­els of H.264 which is ref­er­enced in my text, you will see that there are some more res­o­lu­tions defined.

    GD Star Rating
    loading...
    GD Star Rating
    loading...

Leave a Reply