Capturing and Encoding on the Cheap

November 1, 2002

Many years ago, when a station wanted to capture four, one-hour blocks of audio each day, it involved writing scripts that would interact with the GUI of the audio encoding tool (send an ALT-F to the encoder window, send the filename, send the down arrow four times). There would be problems with it, but for the most part, it worked for capturing the content. Each day the captured files would be edited by hand, manually up-loaded and then the HTML pages would be updated to show links to the new files.

I got tired of doing things manually and started looking for a better way. I left the capture program the way it was, and I wrote scripts to allow other people to edit the files automatically (the times were nearly always the same), and taught them how to upload them as well. I even created a CGI that wrote to an included HTML file, so that others could post the links to the Realmedia files without my interaction, simply by submitting a form from a browser. It still required manual labor, but it wasn't my labor, so I didn't mind nearly as much.

As time went by, some people began to mind, and I began exploring ways to automate more of the process. The script to interact with the encoder GUI was replaced with a command-line program, so there were fewer chances for something to go wrong. Because the files always needed the same amount of time removed from their beginning, I automated that as well. Then the files would be sent automatically via FTP to the server, and the links would be displayed only if the file existed. Completely automatic, but all done in a proprietary automation program.

Real Systems Real Producer has a command-line program called rmbatch, which can be set up to schedule encoding tasks.

Nowadays most of these tasks are fulfilled by the programs themselves, so users don't need to write a lot of custom code. It's almost as easy as point, click and leave.

Timing is everything

The single most important piece in this puzzle is the time source. Computer clocks are notoriously inaccurate, and this process requires capturing content from an accurate fixed schedule. If possible, use the same time source as the rest of the station, perhaps from the automation system or from a satellite feed or GPS clock. If those options aren't available, download one of the many programs designed to keep the computer's clock accurate from time sources like NIST, the Naval Observatory or Abouttime from There are dozens of these programs available. Whichever you choose, install it, configure it to set the clock at least once an hour, and make sure it starts automatically when the computer is restarted. This will produce an accurate timebase to start from.

File-transfer programs can also be set up to automate file transfers, ensuring that the most recent file is always posted.

Schedule it: Nearly all operating systems now have a built-in scheduling program. Windows 98 offers Task Scheduler; Windows NT provides the AT command; Linux variants offer Cron; and Windows ME, XP and 2000 all have similar schedulers. If you are already familiar with it, you can even find a version of Cron for use on Windows.

Encode it: Real Systems Real Producer has built-in, command-line encoding with a program called rmbatch, so it's a natural choice for scheduled encoding (from a pre-existing file, or from a live source). After reading the manual and determining which settings to use (the user controls all of them, including bit rate, audio and video codecs, duration, filename, title, capture to a file and stream live to a server), simply create a scheduled task to run at the specified time. Check the documentation for the actual parameters, but for live encoding, it's something along the lines of this:

RMBatch.exe /L /O C:\foo.rm /T 0,1 /A 0 /V 0 /F 1 /B “My Clip”

Just set up a task with the scheduler and it is finished.

Edit it: Most task schedulers can only launch a program at the beginning of a minute, but odds are the content the user wants to encode starts 30 seconds after the minute. Simply encode more than is needed, and trim it later. Realproducer uses rmeditor, a command-line editor for encoded files. Add a second scheduled task, and remove the first 30 seconds of extraneous content. Again, check the documentation, but here's a quick usage guide:

rmeditor -i -o [-t ] [-a <author>] [-c <copyright>]</b></p><!--end paragraph--> <!--begin paragraph--><p><b>[-C <comment>] [-r <allow recording>] [-k <allow download>]</b></p><!--end paragraph--> <!--begin paragraph--><p><b>[-s <start time>] [-e <end time>] [-l <log file>] [-d <dump file>]</b></p><!--end paragraph--> <!--begin paragraph--><p><b>[-q <description>] [-n <keywords>] [-IN <allowing indexing>] [-AR <audience rating>]</b></p><!--end paragraph--> <!--begin paragraph--><p>Removing trailing content should be just as simple.</p><!--end paragraph--> <!--begin paragraph--><p>Upload it: Yes, you could spend a lot of time creating a scheduled task to upload the encoded content to the appropriate server. Or, write a command-line batch file to FTP the file and schedule it to run at the correct day and time using the operating system's built-in scheduler. It would work fine. Instead, save a lot of trouble and use an FTP program with its own scheduling function, such as WS_FTP Pro. A few easy clicks and the file is set up to be transferred without writing a single line of code.</p><!--end paragraph--> <!--begin paragraph--><p>Post it: There are many ways to display a link to the file on the station's Web page. One way is to always use the same file name for the encoded content, so the link is already on the page and the file just changes when it gets uploaded. A second way is to set up an additional scheduled FTP for the new HTML page, and have it upload after the encoded file has been uploaded. Yet another way is to use PHP, Perl or a similar language, and check for the existence of the encoded file on the server. If it exists, display the link in the page. Otherwise, it can display something else.</p><!--end paragraph--><h2>Alternate technologies</h2> <!--begin paragraph--><p>Apply these same principles to a system using Windows Media Encoder with one small change: the command-line encoding utility for Windows Media Encoder does not allow input to be from a live source. The user will have to capture the content to a .wav or .avi first by using some other command-line capture utility, and then run that file through the batch job Windows Media Encoder. The user will have to download the Windows Media 8 Encoding Utility (search the Microsoft website for wm8eutil) to get command-line ability for batch encoding, which will read something like this:</p><!--end paragraph--> <!--begin paragraph--><p><b>wm8eutil -input clip.avi -output clip.wmv</b></p><!--end paragraph--> <!--begin paragraph--><p>Serve it: There isn't much to discuss on this topic because once the encoded files are uploaded, and links have been posted to them on the website, it is automated about as much as it can be. But recent developments in server technology ask to be touched on here.</p><!--end paragraph--> <!--begin paragraph--><p>Real Networks (<a href="" target="_blank"></a>) has just released its new Helix Universal Server, which has the ability to stream nearly any file format: Real Audio (.rm), Real Video (.rm, .rmvb), Real Pix (.rp), Real Text (.rt), Macromedia Flash (.swf), Windows Media (.asf, .wma, .wmv), Quicktime (.mov), MPEG-1, MPEG-2, MPEG-4, MP3 and others with the addition of plug-ins. This means there can be a Real Networks and a Windows Media stream without the need for two separate streaming servers.</p><!--end paragraph--> <!--begin paragraph--><p>The drawback of this single-server system is that Real Server licenses will now cover Windows Media streams as well. The user now has to pay for concurrent streams of Windows Media, something that previously wasn't a concern. With a stand-alone Windows Media server, there can be as many streams as desired, all license-free and cost free.</p><!--end paragraph--> <!--begin paragraph--><p>This is just the basis of a system with much more potential. For example, with these tools someone has to set up four scheduled tasks each time he wanted to encode, upload and post anything — fine for a one-time broadcast, but not ideal for a show that airs Monday through Friday. Write simple scripts to automatically name the encoded file for the date and time it gets encoded, and not have to set up a scheduled task for each encoded file. I have one setup that encodes 24 one-hour files each day, and makes a month's worth of audio available online, all with one scheduled task.</p><!--end paragraph--> <!--begin paragraph--><p><table align="right" width="255"> <tr> <td> <hr color="ff0000" /> <img src="/oldradimage/images/archive/1102/211br2204.jpg" /><br /> <font color="0000FF" size="-2">Most encoding software packages provide utilities to automate some functions.</font> <hr color="ff0000" /> </td> </tr> </table> </p><!--end paragraph--><h2>Automation programs</h2> <!--begin paragraph--><p>If there is something that simply cannot be scheduled because it doesn't have a built-in scheduler, and there is no command-line version of the program, there are a couple of programs designed to interact with just about anything else on a machine.</p><!--end paragraph--> <!--begin paragraph--><p>Winbatch from Wilson Windowware (<a href="" target="_blank"></a>) is an interpreter-based language that can be used to automate nearly any Windows task. It has extenders for the language to let you interact with network servers (Microsoft or Netware), ODBC databases, printers, serial and parallel ports. Winbatch makes it a snap to name files based on date and time of encoding.</p><!--end paragraph--> <!--begin paragraph--><p>Automize from Hitek Software (<a href="" target="_blank"></a>) is a cross-platform automation package written primarily in Java, so it can be used on Windows machines, Macs and even Linux machines with a GUI. It should also be able to automate most redundant tasks.</p><!--end paragraph--> <!--begin paragraph--><p>No matter what route the station chooses, be sure to write down what is and what is not automated. Six months later, when there is a problem, it's nice to have notes about what is supposed to be happening before you try to fix it.</p><!--end paragraph--> <!--begin paragraph--><p><hr /> </p><!--end paragraph--> <!--begin paragraph--><p><i>Harrison is senior applications developer for, an Internet service provider in Severna Park, MD.</i></p><!--end paragraph--> <!--begin paragraph--><p><hr /></p><!--end paragraph--> </div></div><!--end page--><!--endclickprintinclude--><!-- Pagination at the bottom of the page --><div class="pagination"></div><!-- /Pagination --><br /><div class="icopyCont"><p class="icopy"><!-- template test --></p></div><!--#include virtual="/radio_rating_widget.txt" --><!--#include virtual="/article_commenting.txt" --><!--#include virtual="/most_recent.txt" --><!-- GOOGLE AD CREATIVE START --><script type="text/javascript"><!-- function google_ad_request_done(ads) { var s = ''; if (ads.length == 0) { return; } s += '<div class="googlead">'; s += '<p class="googleadTitle"><span>' + google_attribution_text + '</span></p>'; for (i = 0; i < ads.length; ++i) { s += '<p><a href="' + ads[i].url + '" >' + ads[i].line1 + '</a><br>' + ads[i].line2 + ' ' + ads[i].line3 + '<br> <span class="googleadViewLink">' + ads[i].visible_url + '</span></p>'; } s += '</div>'; document.write(s); return; } // need to customize the colors in the ad unit? do it here with these vars google_attribution_text = 'Ads by Google'; google_ad_output = 'js'; google_max_num_ads = '3'; google_ad_client = 'ca-penton_html'; google_ad_channel = 'fixed-bottom-js'; google_safe = 'high'; // turn this to 'off' when launching! google_ad_test = 'off';// --></script><script type="text/javascript" src=""></script> <!-- GOOGLE AD CREATIVE END --><!-- San Template Test 10/14/2011 --> </td> </tr> </table> <script> /** * Function that tracks a click on an outbound link in Google Analytics. * This function takes a valid URL string as an argument, and uses that URL string * as the event label. */ var trackOutboundLink = function(url) { ga('send', 'event', 'newsletter_on_article_RM', 'click', url, {'hitCallback': function () { return true; } }); } </script> <div class="gap"></div> <h4 style="font-size: 1.3em !important; font-style: italic;">Receive regular news and technology updates. <a style="text-decoration: underline;font-style: italic;" onclick="trackOutboundLink('');" target="_blank" href="">Sign up for our free newsletter here.</a></h4> </div> <!-- /POST BODY --> <!--//// SHARE THIS POST /////--> <div class="share-this-post row clearfix"> <h4>Share This Post</h4> <div class="post-share bot"> <!--**** MAKE SURE TO CHANGE ADDTHIS:URL ****--> <div class="addthis_toolbox addthis_counter_style clearfix"> <a addthis:url='' fb:like:layout="button_count" class="addthis_button_facebook_like"></a> <a addthis:url='' class="addthis_button_tweet"></a> <a addthis:url='' class="addthis_counter addthis_pill_style"></a> </div> </div> </div> <!--//// WIRE /////--> <!--// THE WIRE // --> <div class="wire clearfix row"> <span><a href="/thewire" id="dnn_ArticleLeft1_TheWire_A1" class="theWireMarquee"><strong>The Wire:</strong> </a></span> <div class="marquee"> <div class="wire-prev"></div> <div class="wire-next"></div> <div class="wire-wrap"> <dl id="bc-wire"> <dd><a href='/thewire/netia-partners-with-cdm-to-address-rapid-expansion-of-indias-radio-broadcasting-marketplace/7179/view'>NETIA Partners With CDM to Address Rapid Expansion of India's Radio Broadcasting Marketplace </a></dd> <dd><a href='/thewire/iron-mountain-helps-codigo-music-preserve-latin-american-music-history/7178/view'>Iron Mountain Helps Codigo Music Preserve Latin American Music History</a></dd> <dd><a href='/thewire/how-i-work-allison-casey-of-gramercy-post/7177/view'>How I Work: Allison Casey of Gramercy Post</a></dd> <dd><a href='/thewire/monroe-electronics-enables-first-multilingual-national-periodic-emergency-alert-system-test/7176/view'>Monroe Electronics Enables First Multilingual National Periodic Emergency Alert System Test</a></dd> <dd><a href='/thewire/netia-products-at-gv-expo-2015/7175/view'>NETIA Products at GV Expo 2015</a></dd> <dd><a href='/thewire/neutrik-usa-appoints-fraser-regional-manager/7174/view'>Neutrik USA Appoints Fraser Regional Manager</a></dd> <dd><a href='/thewire/historic-redd47-preamp-scores-namm-tec-awards-nomination/7172/view'>Historic REDD.47 Preamp Scores NAMM TEC Awards Nomination</a></dd> <dd><a href='/thewire/pro-sound-effects-education-spotlight-foothill-college/7173/view'>Pro Sound Effects Education Spotlight: Foothill College</a></dd> <dd><a href='/thewire/genelec-2015-aes-press-kit/7171/view'>Genelec 2015 AES Press Kit</a></dd> <dd><a href='/thewire/audiotechnica-2015-aes-press-kit/7170/view'>Audio-Technica 2015 AES Press Kit</a></dd> </dl> </div> </div> </div> <div class="Commentwidht"> <div class="post-hd row"> <h1>Comments</h1> </div> <div id="disqus_thread"></div> <script type="text/javascript"> /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */ var disqus_shortname = 'radiomagonline'; // required: replace example with your forum shortname /* * * DON'T EDIT BELOW THIS LINE * * */ (function () { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = '//' + disqus_shortname + ''; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); </script> <noscript>Please enable JavaScript to view the <a href="">comments powered by Disqus.</a></noscript> <script type="text/javascript"> /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */ var disqus_shortname = 'radiomagonline'; // required: replace example with your forum shortname /* * * DON'T EDIT BELOW THIS LINE * * */ (function () { var s = document.createElement('script'); s.async = true; s.type = 'text/javascript'; s.src = '//' + disqus_shortname + ''; (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s); }()); </script> </div> </div> <!-- /INNER PAD --> </article> </section> <script> $(document).ready(function () { $("#dnn_ArticleLeft1_ArticleDetail").find('base').removeAttr('target'); //$("#aswift_0_expand").css("display", "none"); $("ins").remove(); }); </script> <!-- <style> .setInitialImageWidth img{width:100%} </style>--> <section class="right-rail above-wire"> <div style="padding-bottom:15px;"> <script language="JavaScript"> <!-- OAS_AD('Position1'); //--> </SCRIPT> </div> <div style="margin-top: 20px;"></div> <!--//// TABBED ////--> <div class="widget tabbed inside-issue events industry"> <div id="tab-container-1"> <ul id="tab-container-1-nav" class="clearfix tabbed-nav"> <li><a href="#tab1">Most Read<div class="tab-arrow-down"></div> </a></li> <li class="last"><a href="#tab2">Recent Comments<div class="tab-arrow-down"></div> </a></li> </ul> <div class="tab" id="DivMostRead"> <div class="cols-holder clearfix"> <div class="col col01 img-holder left"> <img src="/Portals/0/ihm kathrein scala antenna.jpg" /> </div> <div class="col col02 article-holder right"> <div class="group"> <article> <span class="gold">Facility Showcase</span> <h4><a href='/facility-showcase/0032/iheartmedia-gets-valley-coverage-with-santa-clarita-booster/37152'>IHeartMedia Gets Valley Coverage With Santa Clarita Booster</a></h4> </article> </div> </div> </div> <div class="cols-holder clearfix"> <div class="col col01 img-holder left"> <img src="/Portals/0/BEE_201511-lic_7.jpg.ashx.jpg" /> </div> <div class="col col02 article-holder right"> <div class="group"> <article> <span class="gold">Industry</span> <h4><a href='/industry/0003/dod-increases-presence-in-2-ghz-tv-bas-band/37189'>DoD Increases Presence in 2 GHz TV BAS Band</a></h4> </article> </div> </div> </div> <div class="cols-holder clearfix"> <div class="col col01 img-holder left"> <img src="/Portals/0/CKNW.jpg" /> </div> <div class="col col02 article-holder right"> <div class="group"> <article> <span class="gold">HD Radio</span> <h4><a href='/hd-radio/0021/vancouvers-cknw-now-available-on-cfmihd2/37191'>Vancouver’s CKNW Now Available on CFMI-HD2</a></h4> </article> </div> </div> </div> <div class="cols-holder clearfix"> </div> <div id="dnn_RightControl_mostRead_divMoreLink" class="cols-holder clearfix last"> <div class="col col01 img-holder left"> <!--<img src="/images/tabbed.png">--> </div> <div class="col col02 article-holder right"> <a href="" style="display:none;" class="see-all">More →</a> <!--<div class="group">--> <!-- <article>--> <!-- <span class="gold">Industry News</span>--> <!-- <h4><a href="">Seacrest Studios Comes to Cincinnati Children's Hospital</a></h4>--> <!-- </article>--> <!--</div>--> </div> </div> </div> <!-- /TAB --> <div class="tab" id="DivMostreadRecentComment"> <div class="cols-holder clearfix"> <div class="col col02 article-holder right" style="width:100%;"> <div class="group"> <article> <span class="gold">blogentry</span> <h4><a href=''>the real reason that fm \"took off\" was that the fcc issued an order that co owned am and...</a></h4> </article> </div> </div> </div> <div class="cols-holder clearfix"> <div class="col col02 article-holder right" style="width:100%;"> <div class="group"> <article> <span class="gold">industry</span> <h4><a href=''>In a contest among FM, AM and internet the quality from highest to lowest is FM without Op...</a></h4> </article> </div> </div> </div> <div class="cols-holder clearfix"> <div class="col col02 article-holder right" style="width:100%;"> <div class="group"> <article> <span class="gold">fcc</span> <h4><a href=''>I applaud FCC for working to improve both the really old transition website and the old FC...</a></h4> </article> </div> </div> </div> <div class="cols-holder clearfix"> <div class="col col02 article-holder right" style="width:100%;"> <div class="group"> <article> <span class="gold">blogentry</span> <h4><a href=''>You are so right, Ken. It's not enough to just transport over IP. It's about doing stuff w...</a></h4> </article> </div> </div> </div> <div class="cols-holder clearfix"> <div class="col col02 article-holder right" style="width:100%;"> <div class="group"> <article> <span class="gold">deep-dig</span> <h4><a href=''>Not going to happen in the US. With the repacking a lot of channels will be looking at mov...</a></h4> </article> </div> </div> </div> <div class="cols-holder clearfix"> </div> </div> <!-- /TAB --> </div> <!-- / TAB CONTAINER --> </div> <div style="margin-top: 20px;"></div> <script language="JavaScript"> <!-- OAS_AD('Position2'); //--> </SCRIPT> <div style="margin-top: 20px;"></div> <!---//// NEWSLETTER ////--> <div class="widget newsletter"> <div class="red-tab clearfix"><span>Newsletter Signup</span></div> <div class="widget-bd"> <h4>Free E-Newsletters</h4> <span class="sub">Subscribe to our FREE eNewsletters</span> <form class="clearfix"> <fieldset> <input name="dnn$RightControl$newsletter$txtEmailAddress" type="text" id="dnn_RightControl_newsletter_txtEmailAddress" class="border-box emailtext" placeholder="ENTER YOUR EMAIL ADDRESS" /> <input type="submit" name="dnn$RightControl$newsletter$btnNewsletter" value="Subscribe" onclick="opentab(); return false;" id="dnn_RightControl_newsletter_btnNewsletter" class="red-button" /> </fieldset> <!-- /LEFT --> <!-- /RIGHT --> </form> </div> </div> <!-- /NEWSLETTER --> <script type="text/javascript"> function opentab() { var value = $('#dnn_RightControl_newsletter_txtEmailAddress').val(); if (value == "") { alert("Please enter email address"); return false; } else if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(value) == false) { alert("Email entered is invalid"); return false; } else {'' + value); } } </script> <div class="widget events inside-issue"> <div class="red-tab"> <span>Inside The Current Issue</span> <a href='/currentissuearchive'>Archive →</a> </div> <div class="widget-bd"> <div id="dnn_RightControl_currentIssue_divRecords" class="cols-holder clearfix"> <div class="col col01 img-holder left"> <a href="/currentissue"> <img src="/Portals/0/RAD_Nov15 cover.jpg" id="dnn_RightControl_currentIssue_imdThumbnail" /></a> </div> <div class="col col02 article-holder right"> <div class="group"> <article> <h4><a target="_blank" href='/deep-dig/0005/implement-your-own-mini-network-operations-center/37157'>Implement Your Own Mini NOC</a></h4> </article> <article> <h4><a target="_blank" href='/deep-dig/0005/broadcast-engineering-beyond-the-9-to-5/37158'>Broadcast Engineering: Beyond the 9 to 5</a></h4> </article> <article> <h4><a target="_blank" href='/deep-dig/0005/resolving-fm-interference-to-lte-broadcast-requires-cooperation/37160'>Cooperate to Resolve FM Interference to LTE</a></h4> </article> <article> <a href="/currentissue" id="dnn_RightControl_currentIssue_anchCurrentissue" class="see-all">More →</a> </article> </div> </div> </div> </div> </div> <!---//// EVENTS ////--> <div class="widget events"> <div class="red-tab"> <span>Events</span> <a id="dnn_RightControl_Events_eventLink" href="/content/events/83">See All Events →</a> </div> <div class="widget-bd"> <div class="group"> <article> <h4><a href='/events/0083/government-video-expo/37135'>Government Video Expo</a></h4> <p>Dec. 1-3, Washington</p> </article> </div> <div class="group"> <article> <h4><a href='/events/0083/nab-show-global-innovation-exchangeshanghai/36457'>NAB Show Global Innovation Exchange|Shanghai</a></h4> <p>Dec. 3-4, 2015, at the Shangri-la Kerry Hotel, Pudong, Shanghai</p> </article> </div> <div class="group"> <article> <h4><a href='/events/0083/south-carolina-broadcasters-association-2016-winter-conference/37176'>South Carolina Broadcasters Association 2016 Winter Conference</a></h4> <p>Jan. 21-22, Columbia Metropolitan Convention Center</p> </article> </div> <div class="group"> <article> <h4><a href='/events/0083/proclaim16/36879'>Proclaim16</a></h4> <p>Feb. 23-26, 2016, Nashville, Tenn.</p> </article> </div> </div> </div> </section> </div> </div> <div id="dnn_ContentPane" class="DNNEmptyPane"></div> <div class="people row"> <div class="wrapper"> <div class="pad"> <em><strong>News</strong> Feed</em> <a class="people-prev"></a> <a class="people-next"></a> <div class="news_feed"> <div id="bc-people"> <div class="slide"> <a href='/streaming/0023/aes-publishes-recommendations-on-audio-loudness-standards-for-streaming-media/37116'> <img src='/Portals/0/AES logo.jpg'></a> <div class="p-caption"> <h5><a href='/streaming/0023/aes-publishes-recommendations-on-audio-loudness-standards-for-streaming-media/37116'>AES Publishes Audio Loudness Streaming Standards</a></h5> </div> </div> <div class="slide"> <a href='/around-the-world/0020/poor-explains-radiodns-implementation/37111'> <img src='/Portals/0/thisisglobal.jpg'></a> <div class="p-caption"> <h5><a href='/around-the-world/0020/poor-explains-radiodns-implementation/37111'>Poor Explains RadioDNS Implementation</a></h5> </div> </div> <div class="slide"> <a href='/fcc/0019/fcc-takes-steps-to-answer-applicants-am-revitalization-queries/37107'> <img src='/Portals/0/FCC logo thumbnail.jpg'></a> <div class="p-caption"> <h5><a href='/fcc/0019/fcc-takes-steps-to-answer-applicants-am-revitalization-queries/37107'>FCC Takes Steps to Answer Applicants' AM Queries</a></h5> </div> </div> <div class="slide"> <a href='/mobile/0022/wearable-slinky-antenna-targets-athletic-iot-market/37103'> <img src='/Portals/0/wifi.jpg'></a> <div class="p-caption"> <h5><a href='/mobile/0022/wearable-slinky-antenna-targets-athletic-iot-market/37103'>“Slinky” Antenna Targets Athletic IoT Market</a></h5> </div> </div> <div class="slide"> <a href='/fcc/0019/fcc-moves-forward-on-am-revitalization-order/37091'> <img src='/Portals/0/FCC logo thumbnail.jpg'></a> <div class="p-caption"> <h5><a href='/fcc/0019/fcc-moves-forward-on-am-revitalization-order/37091'>FCC Moves Forward on AM Revitalization Order</a></h5> </div> </div> </div> <!-- /BC PEOPLE --> </div> </div> <!-- /PAD --> </div> <!-- /WRAPPER --> </div> <script> jQuery('.slide h5 a').bind('touchstart', function() { var link = jQuery(this).attr("href"); window.location.href = link; }); </script> <div align="center" style="background-color: #ccc;padding: 15px;"> <script language="JavaScript"> <!-- OAS_AD('Bottom'); //--> </SCRIPT> </div> <div class="network row"> <div class="wrapper"> <div class="pad clearfix"> <div class="block"> <div class="inner-pad"> <a target="_blank" href="" class="thumb"><img style="padding-bottom:10px;" src="/images/logo_radioworld.png"></a> <div class="story_text feeds"> <p> <article> <a href="" target="_blank"> Fraunhofer IIS Highlights New ContentServer Features </a> </article> </p> </div> <div class="story_text feeds"> <p> <article> <a href="" target="_blank"> Broadcasters Welcome WRC-15 Decision </a> </article> </p> </div> <div class="story_text feeds"> <p> <article> <a href="" target="_blank"> CDM to Serve as Netia Distributor in India </a> </article> </p> </div> </div> </div> <div class="block"> <div class="inner-pad"> <a target="_blank" href="" class="thumb"><img src="/images/logo_tvtech.png"></a> <div class="story_text feeds"> <p> <article> <a href="" target="_blank"> Hong Kong’s now TV Goes With OASYS </a> </article> </p> </div> <div class="story_text feeds"> <p> <article> <a href="" target="_blank"> Mariner xVu Monitoring More Than 30 Million Devices </a> </article> </p> </div> <div class="story_text feeds"> <p> <article> <a href="" target="_blank"> Tata Communications Utilizing Net Insight OTT System </a> </article> </p> </div> </div> </div> <div class="block"> <div class="inner-pad"> <a target="_blank" href="" class="thumb"><img style="padding-bottom:10px;" src="/images/logo_avn.png"></a> <div class="story_text feeds"> <p> <article> <a href="" target="_blank"> Christie Boxer 30 with 2K Imaging </a> </article> </p> </div> <div class="story_text feeds"> <p> <article> <a href="" target="_blank"> A.C.T Lighting at Ariana Grade Tour </a> </article> </p> </div> <div class="story_text feeds"> <p> <article> <a href="" target="_blank"> High Resolution Systems' HRS Event Control Station </a> </article> </p> </div> </div> </div> <div class="block"> <div class="inner-pad"> <a target="_blank" href="" class="thumb"><img style="padding-bottom:10px;" src="/images/logo_broadcastingcable.png"></a> <div class="story_text feeds"> <p> <article> <a href="" target="_blank"> ESPN Sub Losses Cost Disney $700M </a> </article> </p> </div> <div class="story_text feeds"> <p> <article> <a href="" target="_blank"> Redstone Lawyers Fight Incompetency Claims </a> </article> </p> </div> <div class="story_text feeds"> <p> <article> <a href="" target="_blank"> Video: Jimmy Fallon, Adele and The Roots Say 'Hello' </a> </article> </p> </div> </div> </div> </div> <!-- /PAD --> </div> <!-- /WRAPPER --> </div> <div class="push"></div> </section> <!--============================ FOOTER ============================--> <footer class="global"> <div class="wrapper"> <div class="pad "> <div class="top-row clearfix"> <div class="col col-1"> <nav> <a href="/multisection/products/2">Products</a> <a href="/multisection/industry/3">Industry</a> <a href="/multisection/trends/4">Trends</a> <a href="/multisection/deep-dig/5">Deep Dig</a> <a href="/multisection/gallery/6">Gallery</a> <a target="_blank" href="">Subscribe</a> </nav> </div> <div class="col col-2"> <a target="_blank" href="">Subscribe</a> <a target="_blank" href="">Newsletter Signup</a> <a href="" target="_blank">Customer Service</a> <a href="/rss">RSS Feed</a> <a href="/currentissuearchive">Archive</a> <a href="/currentissue">Current Issue</a> <a href="/login" id="dnn_Footer1_anchlogin">Login</a> </div> <div class="col col-3"> <a href="" target="_blank">Privacy Policy</a> <a href="" target="_blank">Terms of Use</a> <a href="" target="_blank">About Us</a> <a href="" target="_blank">Contact Us</a> <a href="" target="_blank">Advertise</a> <a href="">Find the Mic</a> </div> <div class="col-hide select-menu-holder"> <form class="select-menu"> <!-- set the option value to the page location like "/about-us" --> <select onchange="window.location.assign(this.options[this.selectedIndex].value)"> <option>More</a> <option value="">Subscribe</a> <option value="">Newsletter Signup</a> <option value="">Customer Service</a> <option value="/rss">RSS Feed</a> <option value="/currentissuearchive">Archive</a> <option value="/currentissue">Current Issue</a> <option value="">Privacy Policy</a> <option value="">Terms of Use</a> <option value="">About Us</a> <option value="">Contact Us</a> <option value="">Advertise</a> <option value="">Find the Mic</a> </select> </form> </div> <div class="col col-4"> <ul class="socials"> <li class="fb-link"><a target="_blank" href=""></a><span>Facebook</span></li> <li class="twtr-link"><a target="_blank" href=""></a><span>Twitter</span></li> <li class="rss-link"><a target="_blank" href="/rss"></a><span>RSS</span></li> <li class="yt-link"><a target="_blank" href=""></a><span>Youtube</span></li> </ul> </div> <div class="col col-5"> <ul class="socials"> <li class="pt-link"><a target="_blank" href=""></a><span>Pinterest</span></li> <li class="gp-link"><a target="_blank" href=""></a><span>Google +</span></li> <li class="li-link"><a target="_blank" href=""></a><span>Linked In</span></li> </ul> </div> <div class="col-hide more-brands-holder"> <div class="label">Related NewBay Media Brands</div> <nav> <a target="_blank" href="">Radioworld</a> <a target="_blank" href="">tv technology</a> <a target="_blank" href="">avnetwork</a> <a target="_blank" href="">Broadcasting & Cable</a> </nav> </div> </div> <div class="bottom-row clearfix"> <p class="credits"> Copyright © 2014 by NewBay Media, LLC. <span class="break">28 East 28th Street, 12th floor, New York, NY 10016 T <a href="tel:212-378-0400">(212) 378 0400</a> F <a href="tel:212-378-0470">(212) 378 0470</a></span> </p> <a target="_blank" href="" class="logo newbay"><img src="/images/logo_newbay.png"></a> <a href="/" class="logo other"><img src="/images/footer-logo.png"></a> </div> </div> <!-- /PAD --> </div> <!-- /WRAPPER --> </footer> </div> <input name="ScrollTop" type="hidden" id="ScrollTop" /> <input name="__dnnVariable" type="hidden" id="__dnnVariable" autocomplete="off" /> <script type="text/javascript" src="/Resources/Shared/scripts/initWidgets.js" ></script></form> <script src="/js/jquery.tooltipster.js" defer></script> <script src="/js/Lazyload/jquery.lazyload.js" type="text/javascript"></script> <script src="/js/jPages.js" defer></script> <script src="/js/scripts-home.js" defer></script> <script src="/js/scripts-slideshow.js" defer></script> <script src="/js/jquery.jtweetsanywhere-1.3.1.min.js" defer></script> <script src="/js/jquery.placeholder.js" defer></script> <script src="/js/site.js" defer></script> <script src="/js/css3-mediaqueries.js"></script> <script src="/js/modernizr.js" defer></script> <script src="/js/jquery.carouFredSel-6.2.0-packed.js"></script> <script src="/js/jquery.touchSwipe.min.js" defer></script> <script src="/js/yetii-min.js" defer></script> <script type="text/javascript" src="//" defer></script> <script src="/js/jquery.fitvids.js" defer></script> <script type="text/javascript"> $(function() { $("img.lazy").lazyload({ skip_invisible: false }); window.onload = function() { $(window).resize() }; }); </script> <!-- DOMAIN_CHECK --> </body> </html>