{"id":59335,"date":"2024-03-22T15:38:16","date_gmt":"2024-03-22T19:38:16","guid":{"rendered":"https:\/\/swling.com\/blog\/?p=59335"},"modified":"2024-03-22T05:45:15","modified_gmt":"2024-03-22T09:45:15","slug":"oceaneyes-a-python-api-that-allows-streaming-of-local-content","status":"publish","type":"post","link":"https:\/\/swling.com\/blog\/2024\/03\/oceaneyes-a-python-api-that-allows-streaming-of-local-content\/","title":{"rendered":"OceanEyes: A Python API that allows streaming of local content"},"content":{"rendered":"<div id=\"attachment_48332\" style=\"width: 1183px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/swling.com\/blog\/wp-content\/uploads\/2021\/03\/Ocean-Digital-WR-23D-7.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-48332\" class=\"wp-image-48332 size-full\" src=\"https:\/\/swling.com\/blog\/wp-content\/uploads\/2021\/03\/Ocean-Digital-WR-23D-7.jpg\" alt=\"\" width=\"1173\" height=\"880\" srcset=\"https:\/\/swling.com\/blog\/wp-content\/uploads\/2021\/03\/Ocean-Digital-WR-23D-7.jpg 1173w, https:\/\/swling.com\/blog\/wp-content\/uploads\/2021\/03\/Ocean-Digital-WR-23D-7-300x225.jpg 300w, https:\/\/swling.com\/blog\/wp-content\/uploads\/2021\/03\/Ocean-Digital-WR-23D-7-1024x768.jpg 1024w, https:\/\/swling.com\/blog\/wp-content\/uploads\/2021\/03\/Ocean-Digital-WR-23D-7-768x576.jpg 768w, https:\/\/swling.com\/blog\/wp-content\/uploads\/2021\/03\/Ocean-Digital-WR-23D-7-624x468.jpg 624w\" sizes=\"auto, (max-width: 1173px) 100vw, 1173px\" \/><\/a><p id=\"caption-attachment-48332\" class=\"wp-caption-text\">The Ocean Digital WR-23D<\/p><\/div>\n<p><strong>Many thanks to SWLing Post contributor, Lee, who shared the following comment <a href=\"https:\/\/swling.com\/blog\/2020\/08\/a-review-of-the-ocean-digital-wr-26-fm-dab-internet-and-bluetooth-radio\/#comment-987967\">in one of our Ocean Digital Wifi radio reviews<\/a>. Lee writes:<\/strong><\/p>\n<p style=\"padding-left: 40px;\">I love [Ocean Digital] radios and have been working on a Python API to interact easier with them. You can find my project over at <a href=\"https:\/\/github.com\/duracell80\/oceaneyes\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/duracell80\/oceaneyes<\/a>.<\/p>\n<p style=\"padding-left: 40px;\">I have been trying to add local icecast abilities so that my PC can become its own station in order to support more services on the radio itself like HLS streams, youtube video audio and HDHomeRun audio.<\/p>\n<p style=\"padding-left: 40px;\">It would be great if Ocean Digital could add a stop playback and power off option in their CGI\/PHP web interface. The only way I know how to stop playback remotely at the moment is to either send a non-playable address to the radio, or have a non-playable stream as a favorite and select it. That then may cause the radio to stop playing and shutdown via a timeout.<\/p>\n<p><strong>Cool project, Lee! Thanks for sharing it on GitHub! Readers, if you have any insight into the options Lee is looking for to help with stop playback and power off, please comment!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Many thanks to SWLing Post contributor, Lee, who shared the following comment in one of our Ocean Digital Wifi radio reviews. Lee writes: I love [Ocean Digital] radios and have been working on a Python API to interact easier with them. You can find my project over at https:\/\/github.com\/duracell80\/oceaneyes. I have been trying to add [&hellip;]<\/p>\n","protected":false},"author":15,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3,4652],"tags":[8735],"class_list":["post-59335","post","type-post","status-publish","format-standard","hentry","category-news","category-wifi-radio","tag-ocean-digital"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pn3uc-fr1","jetpack-related-posts":[{"id":48318,"url":"https:\/\/swling.com\/blog\/2021\/03\/a-review-of-the-ocean-digital-wr-23d-wifi-fm-dab-dab-and-bluetooth-portable-radio\/","url_meta":{"origin":59335,"position":0},"title":"A review of the Ocean Digital WR-23D WiFi, FM, DAB &#038; DAB+, and Bluetooth Portable Radio","author":"Thomas","date":"March 31, 2021","format":false,"excerpt":"Readers might recall that last year, I reviewed the Ocean Digital WR-26 portable radio and was pretty impressed. Although it turns out a number of SWLing Post readers were familiar with Ocean Digital and had purchased some of their radios, I hadn't heard of them until an SWLing Post contributor\u2026","rel":"","context":"In &quot;News&quot;","block_context":{"text":"News","link":"https:\/\/swling.com\/blog\/category\/news\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2021\/03\/Ocean-Digital-WR-23D-1.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2021\/03\/Ocean-Digital-WR-23D-1.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2021\/03\/Ocean-Digital-WR-23D-1.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2021\/03\/Ocean-Digital-WR-23D-1.jpg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2021\/03\/Ocean-Digital-WR-23D-1.jpg?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":44611,"url":"https:\/\/swling.com\/blog\/2020\/08\/a-review-of-the-ocean-digital-wr-26-fm-dab-internet-and-bluetooth-radio\/","url_meta":{"origin":59335,"position":1},"title":"A review of the Ocean Digital WR-26 FM, DAB, Internet and Bluetooth radio","author":"Thomas","date":"August 11, 2020","format":false,"excerpt":"A few weeks ago, I was contacted out of the blue by a company I'd never heard of: Ocean Digital. They asked if I would be interested in reviewing one of their radios. I almost deleted their message out of habit because (no kidding) I get at least one or\u2026","rel":"","context":"In &quot;News&quot;","block_context":{"text":"News","link":"https:\/\/swling.com\/blog\/category\/news\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2020\/08\/Screen-Shot-2020-08-04-at-9.11.28-AM.jpeg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2020\/08\/Screen-Shot-2020-08-04-at-9.11.28-AM.jpeg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2020\/08\/Screen-Shot-2020-08-04-at-9.11.28-AM.jpeg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2020\/08\/Screen-Shot-2020-08-04-at-9.11.28-AM.jpeg?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2020\/08\/Screen-Shot-2020-08-04-at-9.11.28-AM.jpeg?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":31264,"url":"https:\/\/swling.com\/blog\/2018\/03\/the-hf-voyager-make-contact-with-an-autonomous-ocean-going-drone\/","url_meta":{"origin":59335,"position":2},"title":"The HF Voyager: Make contact with an &#8220;autonomous ocean-going drone&#8221;","author":"Thomas","date":"March 19, 2018","format":false,"excerpt":"(Source: Southgate ARC) David, AA6YQ, author of DXLab - 'Better DXing Through (Free) Software', posted the following: 'Jupiter Research Foundation Amateur Radio Club (JRFARC) has integrated an HF transceiver with an autonomous ocean-going drone. Our mission is to deploy a ham radio station that roams the world's oceans while providing\u2026","rel":"","context":"In &quot;Digital Modes&quot;","block_context":{"text":"Digital Modes","link":"https:\/\/swling.com\/blog\/category\/digital-modes\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2018\/03\/2014_09_03HAMRecoverPurple_Metis_016-HF-Voyager-1024x573.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2018\/03\/2014_09_03HAMRecoverPurple_Metis_016-HF-Voyager-1024x573.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2018\/03\/2014_09_03HAMRecoverPurple_Metis_016-HF-Voyager-1024x573.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":42297,"url":"https:\/\/swling.com\/blog\/2020\/03\/radio-waves-first-microprocessors-ocean-fm-swl-interviews-and-nprs-take-on-all-digital-am\/","url_meta":{"origin":59335,"position":3},"title":"Radio Waves: First Microprocessors, Ocean FM, SWL Interviews, and NPR&#8217;s take on All-Digital AM","author":"Thomas","date":"March 14, 2020","format":false,"excerpt":"Radio Waves:\u00a0 Stories Making Waves in the World of Radio Because I keep my ear to the waves, as well as receive many tips from others who do the same, I find myself privy to radio-related stories that might interest\u00a0SWLing Post\u00a0readers.\u00a0 To that end:\u00a0Welcome to the\u00a0SWLing Post\u2019sRadio Waves, a collection\u2026","rel":"","context":"In &quot;Broadcasters&quot;","block_context":{"text":"Broadcasters","link":"https:\/\/swling.com\/blog\/category\/broadcasters\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2018\/10\/Soviet-Radio-Dial-1024x576.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2018\/10\/Soviet-Radio-Dial-1024x576.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2018\/10\/Soviet-Radio-Dial-1024x576.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":58636,"url":"https:\/\/swling.com\/blog\/2024\/01\/the-yoto-player-chris-unconventional-wifi-radio-alternative\/","url_meta":{"origin":59335,"position":4},"title":"The Yoto Player: Chris&#8217; Unconventional Wifi Radio Alternative","author":"Thomas","date":"January 6, 2024","format":false,"excerpt":"Many thanks to SWLing Post contributor, Chris, who writes: Hello Thomas, As a long time SWLing Post reader, I wanted to pass along something you and your readers might find interesting in the subject of internet radios. While I have many MW and SW radios in my collection, I have\u2026","rel":"","context":"In &quot;News&quot;","block_context":{"text":"News","link":"https:\/\/swling.com\/blog\/category\/news\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2024\/01\/Yoto-PLayer.webp?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2024\/01\/Yoto-PLayer.webp?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2024\/01\/Yoto-PLayer.webp?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2024\/01\/Yoto-PLayer.webp?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2024\/01\/Yoto-PLayer.webp?resize=1050%2C600&ssl=1 3x"},"classes":[]},{"id":24305,"url":"https:\/\/swling.com\/blog\/2017\/03\/raspberry-pi-wifi-radio-with-touch-screen\/","url_meta":{"origin":59335,"position":5},"title":"Raspberry Pi WiFi Radio with touch screen","author":"Thomas","date":"March 1, 2017","format":false,"excerpt":"For those of us who like to tinker with the Raspberry Pi, this looks like a fun weekend project. It's multi-step, but I believe this project could be completed by almost anyone--you wouldn't have to be a Raspberry Pi or Python guru (code snippets can be downloaded, for example). Here's\u2026","rel":"","context":"In &quot;How To&quot;","block_context":{"text":"How To","link":"https:\/\/swling.com\/blog\/category\/how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2017\/02\/projects_Raspberry_Pi_Radio.jpg?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2017\/02\/projects_Raspberry_Pi_Radio.jpg?resize=350%2C200 1x, https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2017\/02\/projects_Raspberry_Pi_Radio.jpg?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/swling.com\/blog\/wp-content\/uploads\/2017\/02\/projects_Raspberry_Pi_Radio.jpg?resize=700%2C400 2x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/swling.com\/blog\/wp-json\/wp\/v2\/posts\/59335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swling.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/swling.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/swling.com\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/swling.com\/blog\/wp-json\/wp\/v2\/comments?post=59335"}],"version-history":[{"count":1,"href":"https:\/\/swling.com\/blog\/wp-json\/wp\/v2\/posts\/59335\/revisions"}],"predecessor-version":[{"id":59336,"href":"https:\/\/swling.com\/blog\/wp-json\/wp\/v2\/posts\/59335\/revisions\/59336"}],"wp:attachment":[{"href":"https:\/\/swling.com\/blog\/wp-json\/wp\/v2\/media?parent=59335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/swling.com\/blog\/wp-json\/wp\/v2\/categories?post=59335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swling.com\/blog\/wp-json\/wp\/v2\/tags?post=59335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}