Years ago we bought a Popcorn Hour A110 (Network Media Tank NMT) to play back high definition video files (mostly in MKV format) on the TV and not have to hook the PC up to the TV to watch videos in MKV.
Network Media Tank
The NMT has been and continues to be great (touch wood 🙂 ). It plays nearly any video format thrown at it. The only problem is recently some MKV video files have been encoded in 10bit which the NMT cannot play. Previously all video files had been 8bit which were okay. Files have also included the audio track in 5.1 FLAC (not the usual AC3 or DTS tracks) – the NMT cannot play multi-channel FLAC.
After much reading, searching and a little trial and error I finally managed to convert a 10bit 5.1 FLAC file to an 8bit 5.1 DTS file and have it play back flawlessly.
Here’s what I did.
1. Get MKVExtractGUI-2 and load the MKV file into it. Select the Video Track (usually “Track 1”) and the FLAC track (usually “Track 2”) plus any subtitle tracks you wish to keep. Make sure “Use source dir for output” is checked (keep your files together! 🙂 ) and then click on “Extract” wait until finished.
2. When MKVExtractGUI-2 has finished go to the directory / folder where your MKV file is and you should see your original file along with a .h264 file and a .flac file. The h264 is the video and the FLAC is the audio.
3. Next, you want to convert the 10bit video (h264) to 8 bit. Get x264 encoder (32bit or 64 bit depending on your system). Save the .exe (I’m assuming Windows) in the same directory you have your video file. Create a new text file and paste the following in “x264 –preset veryfast –tune animation –crf 12 -o %1.8bit.mkv %1”. Save as encode.bat (Many thanks for the guide I found at commiesubs for this part).
4. Drag and drop your extracted .h264 file onto your encode.bat file. A DOS window should open and the x264 encoder should start reencoding the 10bit file to an 8bit file. The finished file will be the same file with “.8bit.mkv” for the extension. (if the finished file is too big change the –crf value to something larger – in my tests I found a crf value of 18 gave me a video bitrate 2 Mbps (smaller file) while a crf value of 8 gave me a video bitrate of 18.0 Mbps (larger file)
5. Once you have your 8 bit video file you have to convert the audio. Load the .flac file (from step 2) in FLAC Frontend (you need both the frontend and FLAC codec) – click “Add Files” and browse to where the .flac file is located, double click .flac file and click on “Decode”. When the .flac has been decoded you should have a .wav file (same name) in the directory. This .wav file will be much bigger than the .flac and it will contain all 6 channels.
6. Next we have to separate the multi-channel .wav file into individual (mono) .wav files. Using Audiomuxer click Tools menu and Select Audio button, browse to where the the 6 channel .wav file is located and load it into Audiomuxer, next click Mono Wavs button. When Audiomuxer has finished you should have six .wav files, one for (L)eft, (R)ight, (C)entre, (Ls)Left Surround, LFE sub-woofer etc.
7. Using Surcode DVD-DTS encoder load the six mono .wav files (from step 6) into their respective channels, make sure your destination is the same directory where your mono files are located and your output file has a .dts extension – click “Encode”. When finished you should have a 5.1 DTS audio file in your folder.
8. Now time to put it all together. 🙂 Using mkvmerge GUI (mmg.exe) from MKVToolNix click “add” and browse to where the .8bit.mkv video file is located (step 4) and double click. The video file should now be loaded, click “add” again and browser to and double click the .dts audio file (steps 5 -7), that too should now be loaded into mkvmerge, if you extracted any subtitles (step 1) add them too, make sure you give your Output filename (located at the bottom of the mmg window) a meaningful name and make sure the file is in the same directory as the original files. Click Start muxing. Once finished you should have a new MKV file with 8bit video and a 5.1 DTS audio track.
9. Copy new file to NMT and watch. 🙂
This is what worked for me.