{"id":4878,"date":"2016-01-09T23:14:29","date_gmt":"2016-01-10T06:14:29","guid":{"rendered":"http:\/\/www.graphics-muse.org\/wp\/?p=4878"},"modified":"2016-01-09T23:14:29","modified_gmt":"2016-01-10T06:14:29","slug":"streaming-just-got-easier-with-dlna-and-roku","status":"publish","type":"post","link":"https:\/\/www.graphics-muse.org\/wp\/?p=4878","title":{"rendered":"Streaming just got easier, with DLNA and Roku"},"content":{"rendered":"<p><a href=\"https:\/\/www.graphics-muse.org\/wiki\/pmwiki.php\/RaspberryPi\/RaspberryPi\">PiBox<\/a> was built as a proof of concept for a variety of purposes. One of those was to serve media in my trailer when we go camping.\u00a0 I use omxplayer to play videos that are provided over SMB between a server and a player system.\u00a0 That works okay but the front end is not particularly user friendly.\u00a0 At least it&#8217;s not easy to browse videos &#8211; they&#8217;re currently in one long list.\u00a0 It&#8217;s on my list to fix but who knows when I&#8217;ll get to tit.<\/p>\n<div id=\"attachment_4879\" style=\"width: 310px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/www.graphics-muse.org\/wp\/?attachment_id=4879\" rel=\"attachment wp-att-4879\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4879\" data-attachment-id=\"4879\" data-permalink=\"https:\/\/www.graphics-muse.org\/wp\/?attachment_id=4879\" data-orig-file=\"https:\/\/i0.wp.com\/www.graphics-muse.org\/wp\/wp-content\/uploads\/2016\/01\/Roku_HD_2_large.png?fit=541%2C299&amp;ssl=1\" data-orig-size=\"541,299\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Roku_HD_2_large\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;Most of my Roku&#8217;s are older models, but they support DLNA just fine.&lt;\/p&gt;\n\" data-medium-file=\"https:\/\/i0.wp.com\/www.graphics-muse.org\/wp\/wp-content\/uploads\/2016\/01\/Roku_HD_2_large.png?fit=300%2C166&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/www.graphics-muse.org\/wp\/wp-content\/uploads\/2016\/01\/Roku_HD_2_large.png?fit=541%2C299&amp;ssl=1\" class=\"size-medium wp-image-4879\" src=\"https:\/\/i0.wp.com\/www.graphics-muse.org\/wp\/wp-content\/uploads\/2016\/01\/Roku_HD_2_large.png?resize=300%2C166&#038;ssl=1\" alt=\"Most of my Roku's are older models, but they support DLNA just fine.\" width=\"300\" height=\"166\" srcset=\"https:\/\/i0.wp.com\/www.graphics-muse.org\/wp\/wp-content\/uploads\/2016\/01\/Roku_HD_2_large.png?resize=300%2C166&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.graphics-muse.org\/wp\/wp-content\/uploads\/2016\/01\/Roku_HD_2_large.png?w=541&amp;ssl=1 541w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-4879\" class=\"wp-caption-text\">Most of my Roku&#8217;s are older models, but they support DLNA just fine.<\/p><\/div>\n<p>The other day I was reading some tech headlines for Linux and ran across mention of running minidlna on a Raspberry Pi.\u00a0 I wasn&#8217;t familiar with minidlna, or <a href=\"http:\/\/sourceforge.net\/projects\/minidlna\/\">ReadyMedia<\/a> as it&#8217;s now known.\u00a0 A little digging uncovered that it&#8217;s an open source version of a <a href=\"http:\/\/www.readynas.com\/\">NetGear<\/a> product for streaming media: movies, music and pictures.\u00a0 It works by implementing <a href=\"https:\/\/en.wikipedia.org\/wiki\/Digital_Living_Network_Alliance\">DLNA<\/a> compliant protocols, a specification designed just for media sharing.\u00a0 I decided I&#8217;d try it out at home first.\u00a0 To see how well it worked.<\/p>\n<p>The project doesn&#8217;t have Fedora or CentOS packages but it does provide a statically linked binary.\u00a0 I downloaded that and found it only required install of two files: the binary daemon and a configuration file.\u00a0 The configuration file is short and well commented making it easy to setup.\u00a0 It helped that I had a large collection of music and videos ripped.\u00a0 So I installed the files and ran the daemon as my own user (not root).<\/p>\n<p>Now I just needed some software player that could handle DLNA.\u00a0 Fortunatley, I have a house full of Rokus.\u00a0 There is a simple player app that supports DLNA.\u00a0 I clicked on it and there was my server.\u00a0 I drilled down a few folders and found my music and video.\u00a0 Just like that.\u00a0 In my many years of trying to stream media, that has got to be the simplest tool setup I&#8217;ve ever come across.<\/p>\n<p>The bad news is that most of my 600+\u00a0 movies are ripped as ISO images.\u00a0 That was done to get the DVD navigation, jumping to chapters, etc.\u00a0 Now I&#8217;ll have to re-rip them as MP4 or MKV since the Roku doesn&#8217;t play ISO images.<\/p>\n<p>I also need to see how I can add movies posters.\u00a0 While MP3&#8217;s have album art, the MP4&#8217;s appear to just have filenames.\u00a0 Something tells me <a href=\"https:\/\/wiki.archlinux.org\/index.php\/ReadyMedia#Media_Handling\">I can fix that<\/a>.\u00a0 I just need to find a way to use poster art where it currently exists.<\/p>\n<p>What&#8217;s interesting with this is the possibility of streaming from PiBox using ReadyMedia to a Roku in my trailer.\u00a0 The Roku has an HDMI output, which will support the pico projector we use to play movies on the side of the trailer.\u00a0 The PiBox provides the wifi access point, so the Roku should work fine, I think.\u00a0 I haven&#8217;t tried this, but it&#8217;s something now added to my todo list.\u00a0 Since omxplayer doesn&#8217;t do dlna (that I know of), this may be an alternative to using PiBox with omxplayer for the player.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PiBox was built as a proof of concept for a variety of purposes. One of those was to serve media in my trailer when we go camping.\u00a0 I use omxplayer to play videos that are provided over SMB between a server and a player system.\u00a0 That works okay but the front end is not particularly [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[1,5,145,562,565,16],"tags":[644,578,634,619,215,627,583,577,645,625],"class_list":{"0":"post-4878","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-general","7":"category-linux","8":"category-movies","9":"category-pibox","10":"category-raspberry-pi","11":"category-video","12":"tag-dlna","13":"tag-dvd","14":"tag-fedora","15":"tag-linux","16":"tag-music","17":"tag-open-source","18":"tag-pibox","19":"tag-raspberry-pi","20":"tag-roku","21":"tag-video","22":"czr-hentry"},"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pe9t8-1gG","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/4878","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4878"}],"version-history":[{"count":2,"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/4878\/revisions"}],"predecessor-version":[{"id":4881,"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/4878\/revisions\/4881"}],"wp:attachment":[{"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4878"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4878"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.graphics-muse.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}