Tips HDMI CEC between an amplifier Yamaha HTR-4067 and a Raspberry Pi 2

I just bought the new Raspberry Pi 2 to run Rasplex (Plex + OpenElec) within my Home Theater System. The only question I had was: would I be able to use the remote of my amplifier to control Rasplex. The answer is yes, it works !

Yamaha-HTR-4067

Yamaha-HTR-4067

Click to Read More

My Home Theater System includes:

  • A amplifier Yamaha HTR-4067
  • Speakers Eltax Monitor 91 HC  with
    • two floor-standing speakers Eltax Monitor IX
    • two speakers Eltax Monitor I
    • one speaker Eltax Monitor Center
  • A subwoofer Yamaha NS-SW200
  • A projector BenQ W1070+
  • A Raspberry Pi 2 with RasPlex

NB.:

  • The Raspberry is connected on the "HDMI 1 (BD/DVD)" input.
  • I had to change the HDMI cable to use one certified "High Speed with Ethernet".
  • I had to turn on first the Amplifier, next the projector, and finally the Raspberry.

When starting, Rasplex  :

  1. Detects the "Pulse-Eight CEC adapter"
  2. Updates the CEC adapter configuration
  3. And finally displays a message: "connected: TV-HTR-4067"

Within Plex:

  • I went to "> Preferences > Change Preferences for System"
  • I selected "Input Devices" and then "Peripherals"
  • There, Plex displays info about the "CEC adapter". I did click on "Ok" to enter the settings of that adapter. There, I have the following settings:
    • Enabled is ticked
    • Make XBMC the active source when stating is not ticked
    • "Device to power on..." is none
    • "Device to pwoer off..." is none
    • "Send inactive source..." is ticked
    • "Put device in standby..." is not ticked
    • "When the TV is switched off" is "Ignore"
    • "Put device in standby" is not ticked
    • "Use the TV's language setting" is not ticked
    • "Pause playback" is ticked
    • "Physical address (overrules HDMI port)" is 0
    • "Com port" is -

Notice: when the amplifier is switched off (standby), the video is still forwarded to the projector, as well as the sound. But what's great is that the remote control still works too via CEC !!!

Tips Sound-bar + HTPC + TV: where to connect a headset ?

In some cases, I want to use a headset to watch TV, the movies being played either by my HTPC, by the TV itself (internal receiver) or an external TV decoder. In some case, there is a sound-bar connected to the TV (via HDMI-ARC) or between the player and the TV. Where to connect my headset has been a source of headache until a professional audio dealer gave me the "universal" solution: a "Digital to Analog Audio converter".

Click to Read More

Why this question is such an issue?

  1. First, because the sound-bar I am using has no audio out for a headset (i.e: a "AUX" connector). Otherwise, that would have been the logical place to connect the headset.
  2. Next, because I gave up to use the TV "AUX" audio out for headset:
    1. If a sound-bar is connected between the player and the TV, this last one automatically mutes its speakers and I don't get any sound via the headset. It's maybe possible to force the sound on the TV, but I didn't find any such option (neither on the TV nor on the sound-bar).
    2. If the player is connected directly on the TV (when I don't use a sound-bar), I have to unplug the headset each time I don't use it. The headset is indeed automatically detected by the TV if it is plugged and the speakers are muted. This is really not practical.
    3. I didn't try with the player connected directly to the TV and the TV connected to the sound-bar via HDMI-ARC (which could maybe work: i.e.: have sound via both audio output) as I gave up trying to use the TV audio "AUX". Indeed, I have a Samsung TV with a really crappy audio "AUX" connector. The signal coming out is so poor that my wireless headset regularly switches off as detecting no good signal anymore.
  3.  Finally, because using the HTPC audio "AUX" connector is far from practical.
    1. To use the headset, I have to reconfigure the Audio Device in Windows which is set by default to use the HDMI audio output (specific graphic drivers being used to send the sound via the HDMI connector).
    2. And when I unplug the headset, I have again to reconfigure the Audio Device to used the HMDI otherwise I get no sound anymore.Switching back to HDMI is indeed not automatic.
    3. Also, this solution only works when watching a movies with my HTPC, not when watching a broadcast on the TV itself or from any other external player...

The best solution is to connect a "Digital to Analog Audio converter" on the optical output of the TV.

Analog to Digital Audio Converter

Analog to Digital Audio Converter

  • Albeit using a player directly connected on the TV, or when watching a broadcast directly received be the TV tuner, I simply have to mute the TV Speakers (or the sound-bar when one connected via HDMI-ARC). The sound continues to be flowed through the Optical output and I can regulate the volume directly on my headset.
  • I didn't try yet and will do so asap... but if the sound-bar is used and connected between the player and the TV, the sound should also still be flowed from the sound-bar to the TV though HDMI and next to the Optical Audio output. Only the Speakers and the Audio "Aux" should be muted... [to be continued]

IMPORTANT NOTICES 

  • Choose a Converter supporting all compressed audio formats such as Dolby Digital (AC3) and DTS 5.1. Some don't fully support e.g. DTS and this could be very disappointing. Ex.: When using Smart Apps such as Plex or DS Video (from Synology) on a Samsung Smart TV, playing direct sound, the Converter will have to support correctly all the formats also supported by the TV and therefore not transcoded by Plex or  Synology.
  • To have sounds via both the HDMI-ARC and the Optical output, you may have to reconfigure some TV parameters. Ex.: on my Samsung Smart TV I had to set "Audio Output" = "Receiver" (instead of "Speakers", ...) and maybe set "Audio Format" = "PCM" (instead of DTS Neo 2:5). NB.: When using a Smart App, this one is able to change the "Audio Format" (via the Samsung API). I.e.: if you set "PCM" because "Dolby" is not supported by your Converter, an App like Plex could set it back to Dolby when direct playing a movie using that format...

I have tried a KanaaN (Digital to Analog Audio Converter): it was really not great... No support of DTS and continuous "noises" within Smart Apps (until one starts a movie)

I have now a Fiio DAC Audio USB D07. It supports both DD and DTS with great quality, works with all my TV channels (including HD such a TF1 HD in France) and produces no "noises" when using Smart Apps (like Plex, DS Audio, Youtube, Netflix, ...) even with the volume of the headset at a high level.

Tips Intel NUC : no more audio via HDMI after Windows Update

I got an automatic Windows Update yesterday on my Intel NUC D54250WYK. After the reboot, I discovered that I had no "HDMI audio device" anymore, but only the "Headphone audio device". Re-installing "Realtek Audio Drivers" didn't solve the problem. The trick is to uninstall and re-install both the Audio Drivers AND the Graphics Drivers!

Click to Read More

Indeed, the connection to the TV being made through HDMI, the audio connection is managed via the Graphic Drivers.

Get both Audio and Graphic Drivers from the Intel Download site (I.e.: "Audio: Realtek ALC Audio Driver for Intel® NUC" and "Graphics: Intel® HD Graphics Driver for Intel® NUC").

Et voilà.

I Got ItWishlist A new HTPC

I am pissed off by my current HTPC Acer iDEA 510... Too many issues with the video drivers, too slow for some heavy HD movies where many dots moves at the same times... I need a new one !

NUC D54250WYK

Click to Read More

After some research, the easiest solution will be to buy a barebone matching my requirements:

  • One HDMI 1.4 connector with audio support
  • Once HD Audio Controller
  • One placeholder for a SSD
  • One Gigabit Ethernet controller
  • One IR receiver for a Windows MCE remote.
  • An Intel above or equal to Core i3-3225
  • Low power consumption (<~5w when idle)
  • Low noise level (~30db when idle, ~40db at full load)

A barebone solution will be a bit easier than buying each parts separated (case, Motherboard, CPU, PSU, ...).

The barbone being closest to my requirements is the Intel NUC D54250WYK. Its processor is however a core i5-4250U which is unfortunately not as powerful as a core i3-3225 (See here). But with its GPU HD Graphic 5000, it seems to be from far good enough to play HD movies based on technical reviews.

It has two SO-DIMM slots supporting up to 16 GB of 1600/1333 MHz 1.35V DDR3L memory. So, I will take 2 x 8Gb Corsair Vengeance CMSX16GX3M2B1600C9 DDR3L 1600 MHz CL9 (PC3-12800).

I will also add/use:

This barbone also has:

  • two USB 3.0 connectors on the front panel and two USB 3.0 connectors on the back panel.
  • two USB 2.0 ports and one SATA port inside but there are IMO useless as there is no place at all in that small case.
  • a consumer infrared sensor on the front panel
  • a 8-channel (7.1) digital audio via its HDMI 1.4a output or via its DisplayPort 1.2 connector.

At full load, it seems it will be a bit louder than I was expecting from my future HTPC (reported to produce ~44db), because it's not a passive cooling. But it's still really ok. And from the power point of view, it consumes less than 5 Watts when idle. Perfect !

EDIT 31/01/2014  I got it and... IT ROCKS !!!

Much more fast and silent than expected!

Tips Run MediaBrowser 2.6.1 on Windows 8.1

MediaBrowser 2.6.2 does not run anymore on Windows 8.1.

The problem is that it needs the version 6.1.0.0 of the MS libraries "mediacenter". But the version available on Windows 8.1 is 6.3.0.0. Configuring the adequate BindingRedirect fix the problem.

Click to Read More

Simply edit the config files "Configurator.exe.config" and "MediaBrowserService.exe.config" located by default in "C:\Program Files (x86)\MediaBrowser" or "C:\Program Files\MediaBrowser" depending respectively if Windows is a x64 or x86.

Search for 6.2.0.0 and replace each occurrence with 6.3.0.0 (using Notepad++ run as administrator)

It works for me... both for the service and the configurator ;)
This is a workaround for those who don't want to move from MediaBrowser 2.6.2 to 3...

Here is the Configurator.exe.config file:
<?xml version="1.0"?>
<configuration>
 <startup useLegacyV2RuntimeActivationPolicy="true">
 <supportedRuntime version="v4.0"/>
 <supportedRuntime version="v2.0.50727"/>
 </startup>

<runtime>
 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
 <dependentAssembly>
 <assemblyIdentity name="Microsoft.MediaCenter" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.0.3000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.3100.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.6000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="Microsoft.MediaCenter.UI" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.0.3000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.3100.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.6000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 </assemblyBinding>
 </runtime>
</configuration>
And here is the MediaBrowserService.exe.config file:
<?xml version="1.0"?>
<configuration>
 <startup useLegacyV2RuntimeActivationPolicy="true">
 <supportedRuntime version="v4.0"/>
 <supportedRuntime version="v2.0.50727"/>
 </startup>

<runtime>
 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
 <dependentAssembly>
 <assemblyIdentity name="Microsoft.MediaCenter" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.0.3000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.3100.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.6000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="Microsoft.MediaCenter.UI" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.0.3000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.3100.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.6000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="ehRecObj" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.0.3000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.3100.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.0.6000.0" newVersion="6.3.0.0" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="ehShell" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="Microsoft.MediaCenter.Shell" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="mcstore" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="mcstoredb" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="ehiExtens" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="BDATunePIA" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="mcstore" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="mcstoredb" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="mcepg" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 <dependentAssembly>
 <assemblyIdentity name="ehiProxy" publicKeyToken="31bf3856ad364e35" culture="neutral" />
 <bindingRedirect oldVersion="6.1.0.0" newVersion="6.3.0.0" />
 </dependentAssembly>
 </assemblyBinding>
 </runtime>
</configuration>