Difference between revisions of "Dune HD"

From YobiWiki
Jump to navigation Jump to search
 
(79 intermediate revisions by 3 users not shown)
Line 10: Line 10:
 
** http://www.hdlandforum.fr/viewtopic.php?f=25&t=789 for thread specific to Dune HD Max
 
** http://www.hdlandforum.fr/viewtopic.php?f=25&t=789 for thread specific to Dune HD Max
 
* http://mpcclub.com/forum/forumdisplay.php?f=145 and http://www.mpcclub.com/forum/forumdisplay.php?f=76
 
* http://mpcclub.com/forum/forumdisplay.php?f=145 and http://www.mpcclub.com/forum/forumdisplay.php?f=76
  +
* http://forum.hdtv.ru
* http://forum.hdtv.ru/index.php?showforum=41 ([http://translate.google.com/translate?hl=en&sl=ru&tl=en&u=http%3A%2F%2Fforum.hdtv.ru%2Findex.php%3Fshowforum%3D41 via Google Translate])
 
  +
** [http://forum.hdtv.ru/index.php?showforum=41 Dune (media player, flash, FAQ)]
  +
** [http://forum.hdtv.ru/index.php?showforum=45 Dune Themes]
  +
** [http://forum.hdtv.ru/index.php?showforum=46 IPTV / VoD / Radio playlists / services for Dune HD players]
  +
** [http://forum.hdtv.ru/index.php?showforum=47 Applications for Dune HD players]
  +
 
News:
 
News:
 
* http://www.hdfever.fr/tag/dune/
 
* http://www.hdfever.fr/tag/dune/
Line 18: Line 23:
 
* http://dunebaseprime.hu
 
* http://dunebaseprime.hu
   
==Tuning==
+
==DSF==
===DSF===
 
 
See http://scottjohnson.org/wiki/Dune/Hacking for:
 
See http://scottjohnson.org/wiki/Dune/Hacking for:
 
* packing/unpacking DSF
 
* packing/unpacking DSF
Line 26: Line 30:
 
See [http://mpcclub.com/forum/showthread.php?t=26280 here] for misc utilities
 
See [http://mpcclub.com/forum/showthread.php?t=26280 here] for misc utilities
   
===optware===
+
==optware==
 
Why not being able to do sth like apt-get on the Dune to install [http://ipkg2.nslu2-linux.org/feeds/optware/oleg/cross/stable/ many packages]? (not tried yet)
 
Why not being able to do sth like apt-get on the Dune to install [http://ipkg2.nslu2-linux.org/feeds/optware/oleg/cross/stable/ many packages]? (not tried yet)
 
* http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&sl=ru&tl=en&u=http%3A%2F%2Fforum.hdtv.ru%2Findex.php%3Fshowtopic%3D3188&act=url
 
* http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&sl=ru&tl=en&u=http%3A%2F%2Fforum.hdtv.ru%2Findex.php%3Fshowtopic%3D3188&act=url
   
===Telnet===
+
==Telnet==
 
telnetd binary is already in the firmware, you just need to activate it, e.g. by using [http://scottjohnson.org/wiki/Dune/Hacking dune_service_telnetd.dsf]
 
telnetd binary is already in the firmware, you just need to activate it, e.g. by using [http://scottjohnson.org/wiki/Dune/Hacking dune_service_telnetd.dsf]
   
Line 36: Line 40:
 
touch /config/telnetd
 
touch /config/telnetd
 
You should see now on bottom right of the screen /setup/information: DEBUG MODE
 
You should see now on bottom right of the screen /setup/information: DEBUG MODE
  +
===IP control===
 
  +
Login root, no password
  +
  +
==[http://dune-hd.com/support/ip_control IP control]==
 
No UPnP controllable, but much better IMHO, a [http://dune-hd.com/support/ip_control specific HTTP protocol] easy to implement and very complete.
 
No UPnP controllable, but much better IMHO, a [http://dune-hd.com/support/ip_control specific HTTP protocol] easy to implement and very complete.
  +
<br>More info on [http://dune-hd.com/firmware/misc/media_url.txt media_url] features.
<br>See below for an Android application implementing it for a remote control.
 
  +
  +
See below for an Android application implementing it for a remote control.
 
<br>[http://www.rmx.ro/duneremote.html Here] is an HTML file implementation for controlling from any browser.
 
<br>[http://www.rmx.ro/duneremote.html Here] is an HTML file implementation for controlling from any browser.
<br>And [http://steven-tools.blogspot.com/2011/08/dune-ip-control-for-windows.html here] is a pretty complete application for Windows.
+
<br>[https://chrome.google.com/webstore/detail/dune-ip-remote/dpkceekopmiomkekgmnjcmfobiniaphb?utm_source=chrome-ntp-icon here] is a Chrome extension doing the same.
  +
<br>[http://steven-tools.blogspot.com/2011/08/dune-ip-control-for-windows.html Here] is a pretty complete application for Windows.
   
  +
Finally, one can use [[YAMJ]] combined with a skin compatible with the DuneHD IP protocol, which is now my favorite way.
===dune_folder.txt===
 
  +
  +
==[http://dune-hd.com/firmware/misc/dune_folder_howto.txt dune_folder.txt]==
 
This is a mechanism allowing easy UI customization.
 
This is a mechanism allowing easy UI customization.
 
<br>Third party softwares exporting to that format:
 
<br>Third party softwares exporting to that format:
* [http://www.zappiti.com/ Zappiti], see specific paragraph below
+
* [http://www.zappiti.com/ Zappiti], see my [[Zappiti|specific wiki page]]
  +
* [http://www.bolidesoft.com/allmymovies.html All My Movies] - use menu item "Tools-Generate catalog for Dune players"
 
* [http://www.mymovies.dk/ MyMovies]
 
* [http://www.mymovies.dk/ MyMovies]
* [http://yadis.whisperingvault.net/projects/yadis/wiki YaDIS]
+
* [http://yadis.whisperingvault.net/projects/yadis/wiki YaDIS], see also on Forums [http://www.homecinema-fr.com/forum/viewtopic.php?f=1182&t=30015385 in French] and [http://www.mpcclub.com/forum/forumdisplay.php?f=151 in English]
 
* [http://www.theforce.nl/IDune.htm iDune]
 
* [http://www.theforce.nl/IDune.htm iDune]
  +
* [http://www.movienizer.com/ Movienizer]
 
* [http://www.musicnizer.com Musicnizer]
 
* [http://www.musicnizer.com Musicnizer]
  +
* [http://sourceforge.net/p/discodune/wiki/Home/ discodune]
===Renaming harddrive===
 
  +
* pydun, on top of [[YAMJ]]
  +
* [https://github.com/Rodinia/php-UitzendingGemist4DuneHD/wiki UitzendingGemist4DuneHD]
  +
  +
==Android applications for DuneHD==
  +
* [https://market.android.com/details?id=babachan.android.dunemediacontroller Dune Media Controller], supports the IP control protocol and the dune_folder.txt structures, a perfect complement to e.g. [[Zappiti]].
  +
Can work on remote index but much better if it has a local copy of the index ([[Zappiti]] indexes are huge)
  +
* [https://market.android.com/details?id=ru.org.dunehdfaq.dunecon Dune Control], basic IP control protocol support
  +
  +
==AAI image format==
  +
Official description: [http://dune-hd.com/firmware/misc/AAImageGen-README.txt AAImageGen-README.txt] and tool [http://dune-hd.com/firmware/misc/AAImageGen.exe AAImageGen.exe]
  +
<br>It works well with Wine and can even be called in command line:
  +
wine AAImageGen.exe test.aai # and it'll generate a test.png
  +
wine AAImageGen.exe test.png # and it'll generate a test.aai
  +
<br>Alternate project: [http://sourceforge.net/projects/aaimageviewer/ aaimageviewer] with read/write support, not working under Wine.
  +
  +
Quick Python script to convert AAI images to any other format
  +
<source lang=python>
  +
#!/usr/bin/env python
  +
  +
import os, sys
  +
import Image
  +
for infile in sys.argv[1:]:
  +
f, e = os.path.splitext(infile)
  +
if e != ".aai":
  +
raise IOError, "Sorry I only accept .aai files"
  +
try:
  +
data=open(infile).read()
  +
size = int(data[:4][::-1].encode('hex'),16), int(data[4:8][::-1].encode('hex'),16)
  +
# No BGRA so we'll take it as RGBA then swap channels
  +
im = Image.fromstring("RGBA", size, data[8:], "raw", "RGBA")
  +
r, g, b, a = im.split()
  +
im = Image.merge("RGBA", (b, g, r, a))
  +
# Just change the extension to save under another format
  +
im.save(f + ".jpg", quality=95)
  +
except IOError:
  +
print "cannot convert", infile
  +
</source>
  +
  +
==Renaming harddrive==
 
By default the internal HDD gets a name based on a UUID à la DuneHDD_6db00183_3f29_4474_ae8a_6b27fbf24304, which is not easy to handle when you want to access it via e.g. Samba.
 
By default the internal HDD gets a name based on a UUID à la DuneHDD_6db00183_3f29_4474_ae8a_6b27fbf24304, which is not easy to handle when you want to access it via e.g. Samba.
 
<br>Drop a dune_folder.txt file on the root of the HDD with as content the shortcut name you want, e.g.:
 
<br>Drop a dune_folder.txt file on the root of the HDD with as content the shortcut name you want, e.g.:
 
storage_name = DuneHDD
 
storage_name = DuneHDD
 
Then reboot, the shared drive will now be seen as DuneHDD
 
Then reboot, the shared drive will now be seen as DuneHDD
===Internal storage===
+
==Internal storage==
 
Some functions and BD Live require an internal storage. This can be defined on a specific partition of the HDD but it's easier to keep a separate disk for that and be able to swap HDDs without worrying about the internal storage. The Dune HD Max has an extra USB port on the main board under the HDD rack metallic plate so we can plug a small 2Gb flash drive there and forget it.
 
Some functions and BD Live require an internal storage. This can be defined on a specific partition of the HDD but it's easier to keep a separate disk for that and be able to swap HDDs without worrying about the internal storage. The Dune HD Max has an extra USB port on the main board under the HDD rack metallic plate so we can plug a small 2Gb flash drive there and forget it.
 
<br>Make sure it's empty otherwise the system will refuse to use it for internal storage (you can still erase everything from the UI then try to reconfigure it as internal storage)
 
<br>Make sure it's empty otherwise the system will refuse to use it for internal storage (you can still erase everything from the UI then try to reconfigure it as internal storage)
 
<br>Internal storage is mounted as /permanentfs
 
<br>Internal storage is mounted as /permanentfs
===Video===
+
==Video==
 
See http://hdlandforum.fr/viewtopic.php?f=25&t=1049
 
See http://hdlandforum.fr/viewtopic.php?f=25&t=1049
 
<br>My TV supporting all modes, I've setup mode 1080p 50Hz and auto framerate 24/50/60Hz
 
<br>My TV supporting all modes, I've setup mode 1080p 50Hz and auto framerate 24/50/60Hz
   
===FlashLite apps===
+
==FlashLite apps==
 
* http://dune-hd.com/support/flash
 
* http://dune-hd.com/support/flash
 
* http://dune-hd.com/firmware/flash/flashlite_info.txt
 
* http://dune-hd.com/firmware/flash/flashlite_info.txt
 
* http://dunebaseprime.hu/letoltes/150-flash-demo-jatekok a few games as examples
 
* http://dunebaseprime.hu/letoltes/150-flash-demo-jatekok a few games as examples
===Streaming TV & IPTV===
+
==Streaming TV==
 
* [http://dunebaseprime.hu/letoltes/173-mms-alapu-internetes-tv-allomasok Hungarian TVs] using MMS
 
* [http://dunebaseprime.hu/letoltes/173-mms-alapu-internetes-tv-allomasok Hungarian TVs] using MMS
 
* [http://www.mpcclub.com/forum/showthread.php?t=23927 Using VLC to transcode sopcast streams]
 
* [http://www.mpcclub.com/forum/showthread.php?t=23927 Using VLC to transcode sopcast streams]
  +
* [https://github.com/Rodinia/php-UitzendingGemist4DuneHD/wiki UitzendingGemist4DuneHD]
 
* IPTV: http://dune-hd.com/firmware/iptv/
 
* IPTV: http://dune-hd.com/firmware/iptv/
 
To test streams, one can use the IP control protocol:
 
To test streams, one can use the IP control protocol:
Line 75: Line 129:
 
wget -O - "http://dune/cgi-bin/do?cmd=start_file_playback&media_url=http://80.249.172.28/autonomia"
 
wget -O - "http://dune/cgi-bin/do?cmd=start_file_playback&media_url=http://80.249.172.28/autonomia"
 
wget -O - "http://dune/cgi-bin/do?cmd=start_file_playback&media_url=mms://vipmms9.yacast.net/bfm_bfmtv"
 
wget -O - "http://dune/cgi-bin/do?cmd=start_file_playback&media_url=mms://vipmms9.yacast.net/bfm_bfmtv"
  +
  +
One can create a bookmark such as this one to tell the Dune HD device to play the current URL:
  +
javascript:document.location='http://dune/cgi-bin/do?cmd=start_file_playback&media_url='+encodeURIComponent(location.href)
  +
If you use NoScript [http://noscript.net/abe/ Application Boundaries Enforcer], you need to add an exception before "Site LOCAL" in the ABE preferences
  +
Site dune
  +
Accept ALL
  +
Deny
  +
  +
  +
This will work only if the URL is the direct link to the video file.
  +
<br>If you want it running with e.g. Youtube you need first some URL extractor.
  +
<br>One way is to use a Firefox extension such as [http://unplug.dbatley.com/ Unplug].
  +
<br>So you can use first Unplug to get the media URL then use this javascript bookmark.
  +
<br>Hopefully Unplug is opensource so we can [http://unplug.dbatley.com/developers.php get the sources] and patch them to add directly a "Open in DuneHD" method:
  +
<source lang=diff>
  +
diff --git a/unplug@compunach/chrome/content/display/download.js b/unplug@compunach/chrome/content/display/download.js
  +
index 6454d30..af644ab 100644
  +
--- a/unplug@compunach/chrome/content/display/download.js
  +
+++ b/unplug@compunach/chrome/content/display/download.js
  +
@@ -580,6 +580,18 @@ UnPlug2DownloadMethods.add_button("open-tab", {
  +
group : "open"
  +
});
  +
  +
+UnPlug2DownloadMethods.add_button("open-DuneHD", {
  +
+ avail : (function (res) {
  +
+ return (res.download.url ? true : false);
  +
+ }),
  +
+ exec : (function (res) {
  +
+ UnPlug2SearchPage._win.location = "http://dune/cgi-bin/do?cmd=start_file_playback&media_url="+encodeURIComponent(res.download.url);
  +
+ }),
  +
+ obscurity : 100,
  +
+ css : "open open-over",
  +
+ group : "open"
  +
+});
  +
+
  +
UnPlug2DownloadMethods.add_button("open-new", {
  +
avail : (function (res) {
  +
return (res.download.url ? true : false);
  +
diff --git a/unplug@compunach/chrome/locale/en-US/strings.txt b/unplug@compunach/chrome/locale/en-US/strings.txt
  +
index 6356ced..b72e0a4 100644
  +
--- a/unplug@compunach/chrome/locale/en-US/strings.txt
  +
+++ b/unplug@compunach/chrome/locale/en-US/strings.txt
  +
@@ -32,6 +32,9 @@ save_to_directory=Save to Folder
  +
dmethod.open-tab=Open in a new tab
  +
dmethod.open-tab.a=t
  +
dmethod.open-tab.tip=Open in a new tab.
  +
+dmethod.open-DuneHD=Open in Dune HD
  +
+dmethod.open-DuneHD.a=d
  +
+dmethod.open-DuneHD.tip=Open in Dune HD.
  +
dmethod.open-new=Open in a new window
  +
dmethod.open-new.a=n
  +
dmethod.open-new.tip=Open in a new window.
  +
</source>
  +
  +
==IPTV==
  +
  +
To test streams, one can use the IP control protocol:
 
wget -O - "http://dune/cgi-bin/do?cmd=start_file_playback&media_url=udp://@239.255.1.138:2276"
 
wget -O - "http://dune/cgi-bin/do?cmd=start_file_playback&media_url=udp://@239.255.1.138:2276"
   
Line 82: Line 193:
 
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 2>/dev/null
 
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 2>/dev/null
   
===Streaming radio===
+
==Streaming radio==
 
* http://dune-hd.com/firmware/inet_radio/
 
* http://dune-hd.com/firmware/inet_radio/
 
* [http://dunebaseprime.hu/hasznos/112-tudta-e-hogy-a-dune-lejatszoval-internet-radiokat-is-hallgathat Hungarian radios]
 
* [http://dunebaseprime.hu/hasznos/112-tudta-e-hogy-a-dune-lejatszoval-internet-radiokat-is-hallgathat Hungarian radios]
   
===Custom GUI skins===
+
==Custom GUI skins==
 
* http://dune-hd.com/support/skins
 
* http://dune-hd.com/support/skins
 
GUI skins can be switched via the setting "Setup / Appearance / Skin", or via "B" RC button on the main screen (and also via "ZOOM" RC button on any screen).
 
GUI skins can be switched via the setting "Setup / Appearance / Skin", or via "B" RC button on the main screen (and also via "ZOOM" RC button on any screen).
===Plugins===
+
==Plugins==
 
* [http://www.upload.ee/files/1977698/dune_plugin_youtube_20120110_2.zip.html Youtube]
 
* [http://www.upload.ee/files/1977698/dune_plugin_youtube_20120110_2.zip.html Youtube]
 
** [http://www.mpcclub.com/forum/showthread.php?t=28109 mpcclub]
 
** [http://www.mpcclub.com/forum/showthread.php?t=28109 mpcclub]
 
** [http://translate.google.com/translate?hl=en&sl=ru&u=http://forum.hdtv.ru/index.php%3Fshowtopic%3D7162&ei=9SMPT9zFCpO5hAff8vGNAg&sa=X&oi=translate&ct=result&resnum=1&ved=0CDAQ7gEwAA&prev=/search%3Fq%3Dhttp://forum.hdtv.ru/index.php%253Fshowtopic%253D7162%26hl%3Det%26rls%3Dcom.microsoft:et:IE-SearchBox%26prmd%3Dimvnsfd forum.hdtv.ru]
 
** [http://translate.google.com/translate?hl=en&sl=ru&u=http://forum.hdtv.ru/index.php%3Fshowtopic%3D7162&ei=9SMPT9zFCpO5hAff8vGNAg&sa=X&oi=translate&ct=result&resnum=1&ved=0CDAQ7gEwAA&prev=/search%3Fq%3Dhttp://forum.hdtv.ru/index.php%253Fshowtopic%253D7162%26hl%3Det%26rls%3Dcom.microsoft:et:IE-SearchBox%26prmd%3Dimvnsfd forum.hdtv.ru]
   
===Multi-region===
+
==Multi-region==
 
* http://www.mpcclub.com/forum/showthread.php?t=18187
 
* http://www.mpcclub.com/forum/showthread.php?t=18187
 
I didn't try yet but by playing DVD iso files I got the following experience: a first message telling me that the region was not ok, a kind of mini-reboot and then the DVD file played properly. To be investigated.
 
I didn't try yet but by playing DVD iso files I got the following experience: a first message telling me that the region was not ok, a kind of mini-reboot and then the DVD file played properly. To be investigated.
 
<br>[http://www.hdlandforum.fr/download/file.php?id=251 dune_service_region_switch.dsf], to change: press 4 times on "Mute" then quickly on 1, 2 or 3 for region A, B or C
 
<br>[http://www.hdlandforum.fr/download/file.php?id=251 dune_service_region_switch.dsf], to change: press 4 times on "Mute" then quickly on 1, 2 or 3 for region A, B or C
   
  +
==Codecs==
==[http://www.zappiti.com/ Zappiti]==
 
  +
To identify video files: [http://mediainfo.sourceforge.net/en Mediainfo], available in Debian as mediainfo & mediainfo-gui
Done by HD Land
 
  +
<br>MKV tools (mkvmerge, mkvinfo, mkvextract): mkvtoolnix & mkvtoolnix-gui in debian
<br>There is an ipad version too, for Android see below for a compatible app.
 
<br>The only bemol is that it's a Windows-only program (as all the other alternatives I think) so I'm using it in a Virtualbox with Windows 7.
 
<br>I had issues with v2.3.1094.0 so I'm currently using v2.1.2735.100
 
===Config===
 
Some notes on my config (just for myself to remember)
 
Dossier de configuration: F:\@zappiti\@db (F: virtualbox shared /media/MyBook2/@dune)
 
Dossier de partage: F:\@DuneHDD-mirror ou Z:\ (Z: \\dune\DuneHDD)
 
Nouveau dossier films:
 
F:\@DuneHDD-mirror\films
 
Réécrire en: storage_label://DuneHDD/films
 
Zappiti works on a local copy of my movies collection and links are rewritten when exported to the Dune HD as the movies are also present locally on its HDD
 
===Exported index===
 
The exported index (_Zappiti/ and Zappiti_Resources/) has then to be copied on the Dune HD and the Android tablet for a faster rendering
 
<br>Options:
 
* [http://scottjohnson.org/wiki/Dune/Installing_rsync Install Rsync] on Dune HD
 
* Use rsync over Samba, very slow!!
 
rsync -nrvh --del Zappiti_Resources DuneHDD
 
rsync -nrvh --del _Zappiti DuneHDD
 
* via ftp, to be tested with [http://www.manyfish.co.uk/sitecopy/ sitecopy]
 
   
  +
I had issues to play some 1080p mkv. Remultiplexing them with a newer version of mkvmerge seems enough to fix the issue:
===Mangling database===
 
  +
mkvmerge -o new.mkv old.mkv
If you want to move or rename files or folders, Zappiti wants to scrap them again and disregard the old entries.
 
  +
Dune HD has no problem handling latest mkvmerge versions with metadata compression, the problem seems to be specific to some older versions of mkvmerge.
<br>To avoid that, you can edit directly the sqlite database.
 
<br>Just a little problem: the database is encrypted by using ASP .NET [http://www.connectionstrings.com/sqlite connectionstrings] (cf possible implementation [Using http://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki here]).
 
<br>So we'll follow [ http://www.mpcclub.com/forum/archive/index.php/t-27073.html this howto]:
 
<br> Open
 
C:\Program Files (x86)\HDLand\Zappiti\Zappiti.exe.config
 
<connectionStrings>
 
<add name="Entities" connectionString="metadata=res://*/Models.Models.csdl|res://*/Models.Models.ssdl|res://*/Models.Models.msl;provider=System.Data.SQLite;provider connection string=&quot;data source=D:\Works\NETil\Works\Companies\HDLand\DuneMediaManager_b1\DuneMediaManager\Data\database.db;password=BLABLA&quot;" providerName="System.Data.EntityClient" />
 
</connectionStrings>
 
Here password is BLABLA.
 
<br>Get [http://osenxpsuite.net/download.htm Sqlite2009 Pro Enterprise Manager], again a Windows stuff but no much option to use this .NET encryption (sth with RSA but still using a symmetric password, no idea what this means)
 
- Open database
 
- select RSA & provide password
 
Then you can make your SQL queries, e.g.
 
UPDATE 'Media' set Path=REPLACE(Path, 'F:\', 'F:\@DuneHDD-mirror\');
 
UPDATE 'TVShowFolder' set Folder=REPLACE(Folder, 'F:\', 'F:\@DuneHDD-mirror\')
 
   
  +
Still, there is one type of video codec apparently not supported, flagged as "VfW compatible" (Video for Windows) by mkvmerge, mediainfo tells us it's actually codec V_REAL/RV40 == RealVideo 4.0 aka RealVideo 9
==Android==
 
  +
* [https://market.android.com/details?id=babachan.android.dunemediacontroller Dune Media Controller], supports the IP control protocol and the dune_folder.txt structures, a perfect complement to Zappiti.
 
  +
To merge 2 avi files (e.g. if the movie was splitted in 2 CDs), use avimerge:
Can work on remote index but much better if it has a local copy of the index (Zappiti indexes are huge)
 
  +
avimerge -o new.avi -i old-cd1.avi old-cd2.avi
* [https://market.android.com/details?id=ru.org.dunehdfaq.dunecon Dune Control], basic IP control protocol support
 
   
 
==Tests==
 
==Tests==
===Read tests===
+
Read tests:
 
Internal HDD: 79MB/s
 
Internal HDD: 79MB/s
 
External HDD USB: 21MB/S (write to internal: 13MB/s)
 
External HDD USB: 21MB/S (write to internal: 13MB/s)
===HDNetwork===
+
==HDNetwork==
 
It is available only if the player license includes “HDNetwork” option; this can be checked in the player menu Setup > Information. If the “HDNetwork” option is purchased, all the basic player functionality remains available.
 
It is available only if the player license includes “HDNetwork” option; this can be checked in the player menu Setup > Information. If the “HDNetwork” option is purchased, all the basic player functionality remains available.
 
<br>This looks like what could be found in conference centers, controlling many screens at once. IMHO you can already achieve the same with the IP control protocol. Probably it's sold as an expensive bundle for those specific customers.
 
<br>This looks like what could be found in conference centers, controlling many screens at once. IMHO you can already achieve the same with the IP control protocol. Probably it's sold as an expensive bundle for those specific customers.
  +
==Linked pages==
 
  +
===[[YAMJ]]===
 
  +
===[[Zappiti]]===
 
------------------------------
 

Latest revision as of 17:03, 27 December 2014

Dune HD Max

Current firmware: 111122_0159_beta

Official Links:

Forums:

News:

Misc Links:

DSF

See http://scottjohnson.org/wiki/Dune/Hacking for:

  • packing/unpacking DSF
  • compile your own software
  • make your own binary DSF

See here for misc utilities

optware

Why not being able to do sth like apt-get on the Dune to install many packages? (not tried yet)

Telnet

telnetd binary is already in the firmware, you just need to activate it, e.g. by using dune_service_telnetd.dsf

To start always telnetd at startup:

touch /config/telnetd

You should see now on bottom right of the screen /setup/information: DEBUG MODE

Login root, no password

IP control

No UPnP controllable, but much better IMHO, a specific HTTP protocol easy to implement and very complete.
More info on media_url features.

See below for an Android application implementing it for a remote control.
Here is an HTML file implementation for controlling from any browser.
here is a Chrome extension doing the same.
Here is a pretty complete application for Windows.

Finally, one can use YAMJ combined with a skin compatible with the DuneHD IP protocol, which is now my favorite way.

dune_folder.txt

This is a mechanism allowing easy UI customization.
Third party softwares exporting to that format:

Android applications for DuneHD

Can work on remote index but much better if it has a local copy of the index (Zappiti indexes are huge)

AAI image format

Official description: AAImageGen-README.txt and tool AAImageGen.exe
It works well with Wine and can even be called in command line:

wine AAImageGen.exe test.aai # and it'll generate a test.png
wine AAImageGen.exe test.png # and it'll generate a test.aai


Alternate project: aaimageviewer with read/write support, not working under Wine.

Quick Python script to convert AAI images to any other format

#!/usr/bin/env python

import os, sys
import Image
for infile in sys.argv[1:]:
    f, e = os.path.splitext(infile)
    if e != ".aai":
        raise IOError, "Sorry I only accept .aai files"
    try:
        data=open(infile).read()
        size = int(data[:4][::-1].encode('hex'),16), int(data[4:8][::-1].encode('hex'),16)
        # No BGRA so we'll take it as RGBA then swap channels
        im = Image.fromstring("RGBA", size, data[8:], "raw", "RGBA")
        r, g, b, a = im.split()
        im = Image.merge("RGBA", (b, g, r, a))
        # Just change the extension to save under another format
        im.save(f + ".jpg", quality=95)
    except IOError:
        print "cannot convert", infile

Renaming harddrive

By default the internal HDD gets a name based on a UUID à la DuneHDD_6db00183_3f29_4474_ae8a_6b27fbf24304, which is not easy to handle when you want to access it via e.g. Samba.
Drop a dune_folder.txt file on the root of the HDD with as content the shortcut name you want, e.g.:

storage_name = DuneHDD

Then reboot, the shared drive will now be seen as DuneHDD

Internal storage

Some functions and BD Live require an internal storage. This can be defined on a specific partition of the HDD but it's easier to keep a separate disk for that and be able to swap HDDs without worrying about the internal storage. The Dune HD Max has an extra USB port on the main board under the HDD rack metallic plate so we can plug a small 2Gb flash drive there and forget it.
Make sure it's empty otherwise the system will refuse to use it for internal storage (you can still erase everything from the UI then try to reconfigure it as internal storage)
Internal storage is mounted as /permanentfs

Video

See http://hdlandforum.fr/viewtopic.php?f=25&t=1049
My TV supporting all modes, I've setup mode 1080p 50Hz and auto framerate 24/50/60Hz

FlashLite apps

Streaming TV

To test streams, one can use the IP control protocol:

wget -O - "http://dune/cgi-bin/do?cmd=start_file_playback&media_url=http://stream02.gtk.hu/bptv"
wget -O - "http://dune/cgi-bin/do?cmd=start_file_playback&media_url=http://80.249.172.28/autonomia"
wget -O - "http://dune/cgi-bin/do?cmd=start_file_playback&media_url=mms://vipmms9.yacast.net/bfm_bfmtv"

One can create a bookmark such as this one to tell the Dune HD device to play the current URL:

javascript:document.location='http://dune/cgi-bin/do?cmd=start_file_playback&media_url='+encodeURIComponent(location.href)

If you use NoScript Application Boundaries Enforcer, you need to add an exception before "Site LOCAL" in the ABE preferences

Site dune
Accept ALL
Deny


This will work only if the URL is the direct link to the video file.
If you want it running with e.g. Youtube you need first some URL extractor.
One way is to use a Firefox extension such as Unplug.
So you can use first Unplug to get the media URL then use this javascript bookmark.
Hopefully Unplug is opensource so we can get the sources and patch them to add directly a "Open in DuneHD" method:

diff --git a/unplug@compunach/chrome/content/display/download.js b/unplug@compunach/chrome/content/display/download.js
index 6454d30..af644ab 100644
--- a/unplug@compunach/chrome/content/display/download.js
+++ b/unplug@compunach/chrome/content/display/download.js
@@ -580,6 +580,18 @@ UnPlug2DownloadMethods.add_button("open-tab", {
        group : "open"
 });
 
+UnPlug2DownloadMethods.add_button("open-DuneHD", {
+       avail : (function (res) {
+               return (res.download.url ? true : false);
+       }),
+       exec  : (function (res) {
+               UnPlug2SearchPage._win.location = "http://dune/cgi-bin/do?cmd=start_file_playback&media_url="+encodeURIComponent(res.download.url);
+       }),
+       obscurity : 100,
+       css : "open open-over",
+       group : "open"
+});
+
 UnPlug2DownloadMethods.add_button("open-new", {
        avail : (function (res) {
                return (res.download.url ? true : false);
diff --git a/unplug@compunach/chrome/locale/en-US/strings.txt b/unplug@compunach/chrome/locale/en-US/strings.txt
index 6356ced..b72e0a4 100644
--- a/unplug@compunach/chrome/locale/en-US/strings.txt
+++ b/unplug@compunach/chrome/locale/en-US/strings.txt
@@ -32,6 +32,9 @@ save_to_directory=Save to Folder
 dmethod.open-tab=Open in a new tab
 dmethod.open-tab.a=t
 dmethod.open-tab.tip=Open in a new tab.
+dmethod.open-DuneHD=Open in Dune HD
+dmethod.open-DuneHD.a=d
+dmethod.open-DuneHD.tip=Open in Dune HD.
 dmethod.open-new=Open in a new window
 dmethod.open-new.a=n
 dmethod.open-new.tip=Open in a new window.

IPTV

To test streams, one can use the IP control protocol:

wget -O - "http://dune/cgi-bin/do?cmd=start_file_playback&media_url=udp://@239.255.1.138:2276"

I get the BelgacomTV IPTV via a separate network so the idea is to access it via eth0 while the regular network remains the Wi-Fi one.
Once the Wi-Fi connection is active, we ca do the following to be able to use the multicast IPTV network on eth0:

route del -net 224.0.0.0 netmask 240.0.0.0 2>/dev/null
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 2>/dev/null

Streaming radio

Custom GUI skins

GUI skins can be switched via the setting "Setup / Appearance / Skin", or via "B" RC button on the main screen (and also via "ZOOM" RC button on any screen).

Plugins

Multi-region

I didn't try yet but by playing DVD iso files I got the following experience: a first message telling me that the region was not ok, a kind of mini-reboot and then the DVD file played properly. To be investigated.
dune_service_region_switch.dsf, to change: press 4 times on "Mute" then quickly on 1, 2 or 3 for region A, B or C

Codecs

To identify video files: Mediainfo, available in Debian as mediainfo & mediainfo-gui
MKV tools (mkvmerge, mkvinfo, mkvextract): mkvtoolnix & mkvtoolnix-gui in debian

I had issues to play some 1080p mkv. Remultiplexing them with a newer version of mkvmerge seems enough to fix the issue:

mkvmerge -o new.mkv old.mkv

Dune HD has no problem handling latest mkvmerge versions with metadata compression, the problem seems to be specific to some older versions of mkvmerge.

Still, there is one type of video codec apparently not supported, flagged as "VfW compatible" (Video for Windows) by mkvmerge, mediainfo tells us it's actually codec V_REAL/RV40 == RealVideo 4.0 aka RealVideo 9

To merge 2 avi files (e.g. if the movie was splitted in 2 CDs), use avimerge:

avimerge -o new.avi -i old-cd1.avi old-cd2.avi

Tests

Read tests:

Internal HDD: 79MB/s
External HDD USB: 21MB/S (write to internal: 13MB/s)

HDNetwork

It is available only if the player license includes “HDNetwork” option; this can be checked in the player menu Setup > Information. If the “HDNetwork” option is purchased, all the basic player functionality remains available.
This looks like what could be found in conference centers, controlling many screens at once. IMHO you can already achieve the same with the IP control protocol. Probably it's sold as an expensive bundle for those specific customers.

Linked pages

YAMJ

Zappiti