Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×

Could I Run a TV Station on Linux? 321

JesusQuintana asks: "I'm working with a low-power television station to update their playback system. Currently they're using tape and I've been tasked to move them to computerized playback (MPEG-2, etc.) There are proprietary solutions (very expensive) and there are companies that bundle software with Windows and standard x86 hardware. Overall, they are generally unimpressive and won't sell the software without bundling it with their own hardware. (They won't let us buy our own storage.) We have the expertise to build our own infrastructure (NAS, redundancy, etc.), but really just need the equivalent of iTunes for high quality video. There are lots of other pieces needed to complete the work-flow (such as encoding the media), which could be accomplished on Mac or Windows or even Linux. But what about playback? We need something that will play back these files at their scheduled times (perhaps scheduling cron jobs to change playlists) to broadcast quality hardware (SDI or YUV video). Could we run a TV station on Linux?"
This discussion has been archived. No new comments can be posted.

Could I Run a TV Station on Linux?

Comments Filter:
  • answer (Score:4, Funny)

    by Anonymous Coward on Thursday October 05, 2006 @02:45PM (#16325527)
    yes
    • Re:answer (Score:5, Funny)

      by kfg ( 145172 ) * on Thursday October 05, 2006 @02:51PM (#16325635)
      But implimentation is left as an exercise for the student.

      KFG
    • by Anonymous Coward
      See http://www.princetonservergroup.com/ [princetonservergroup.com] Princeton Server Group
    • Re: (Score:3, Informative)

      by CharlieG ( 34950 )
      To go one step further - of course you can - If your in the industery, you've probably heard of Avid. Guess what platform their servers run on (at least their iNews platform - not sure of their editing suite)

      No love of their backtimer (understatement), and they have a very limited api that they are willing to publish

      for those lurking:

      Your BIG issues are going to be "Hard Hits" (particularly if you are an affliate)

      Hard Hits are the timing of commercials /ends of shows/ starts of feeds that have to run at a
  • by Anonymous Coward on Thursday October 05, 2006 @02:46PM (#16325551)
    With Linux, all you have to do is concatenate 6 strings on the command line and edit 3 configuration files and you can accomplish anything!
    • Re: (Score:3, Insightful)

      by Anonymous Coward
      Ahahaha, broadcast TV scheduling with cron. Haha. Hoho.

      Seriously, how much could the proprietary vendor's storage cost that you think it will be cheaper in the long run to string together dozens of programs not meant for the job so as to let you build your own IDE NAS. How much is the constant redevelopment going to cost when you find piece after piece not quite right for the task? How much is support and downtime going to cost?

      If the options are rolling your own software system from scratch and buying a
    • by krell ( 896769 ) on Thursday October 05, 2006 @03:15PM (#16326079) Journal
      You can even write the entire program to run the station itself in a mere 11 characters of APL code.
    • Re: (Score:2, Funny)

      by DittoBox ( 978894 )
      I'm sure their's also some obscure emacs function for it too, if you're brave.
    • by EmbeddedJanitor ( 597831 ) on Thursday October 05, 2006 @03:48PM (#16326597)
      so if some existing software does not do exactly what you want, then you can just add the functionality yourself FOR FREE!

      For instance, you could start with, say GNU/make. Now that is a pretty handy chunk of software but it sadly lacks video playing facilities. You can freely download the source code, spend a few evenings writing the video playback code you need and you're done. And it won't cost you a cent!

  • HowTo (Score:5, Funny)

    by Crazy Man on Fire ( 153457 ) on Thursday October 05, 2006 @02:46PM (#16325555) Homepage
    There some pretty good information about TV station automation here [imdb.com]
  • Mplayer (Score:3, Informative)

    by chikanamakalaka ( 218733 ) on Thursday October 05, 2006 @02:47PM (#16325573)
    Mplayer should be able to do the job.
    • by doti ( 966971 )
      I second that.
      Mplayer is not only a fantastic player, but a nice encoder too.
      It does it all, and is very simple. Being a cmdline program makes it perfect for a server.
      • Only downside to Mplayer is that it needs serious improvement on the playlist management side... Not trying to troll, but even WMP has better playlist functionality... On the other hand, combining Mplayer with a playlist management program might be very doable. Especially with cron to do the background job, you could have someone fiddle with the playlists, set them up right and have some script go through each entry in the playlist and start mplayer appropriately. Make sure that your files are complete and
        • Re:Mplayer (Score:4, Informative)

          by nologin ( 256407 ) on Thursday October 05, 2006 @04:12PM (#16326943) Homepage
          Actually, you can address a lot of those types of problems (like playlist management, etc.) with one of the many mplayer frontends on their related projects page [mplayerhq.hu]. All you need to do is choose whichever one you prefer and mplayer is your best friend for video playback.
        • Re: (Score:3, Informative)

          by rs79 ( 71822 )
          "Not trying to troll, but even WMP has better playlist functionality"

          Is it frame accurate? If something is to go to air at "midnight" you have to hit it within 1/30th of a second. You cant afford one frame-time error. Ever.

          People have mentioned failover. Probbaly overkill as it's really really expensive to get right and the premise is you have a human in the booth than can cut to a "we're experiencing technical difficulties" page, err screen.

          Disclaimer: I used to work at Sony and developed the CBC's dubreel
  • Video Lan Project (Score:5, Informative)

    by JSBiff ( 87824 ) on Thursday October 05, 2006 @02:48PM (#16325593) Journal
    I think you are Looking for the Video Lan project, specifically the VLC player:

    VLC [videolan.org]
    • Re:Video Lan Project (Score:5, Informative)

      by JSBiff ( 87824 ) on Thursday October 05, 2006 @02:52PM (#16325663) Journal
      Just realized I should give some more details about *why* you might want to use VLC.

      VLC has the ability to be controlled from multiple different types of clients/interfaces. There is a command line client (perfect for cron jobs), GUI client, and several network interfaces that would allow you to control it over the network (so you could, for example, roll your own easy-to-use scheduling program, and have the scheduling program control VLC over the network).

      However, I'm not entirely sure about VLC being able to playback to special broadcast hardware, but it wouldn't surprise me if there is a way to get it to work.
      • Re:Video Lan Project (Score:5, Informative)

        by betterunixthanunix ( 980855 ) on Thursday October 05, 2006 @03:11PM (#16326023)
        With the latest kernel, it shouldn't be too hard (more than 200 lines of code) to just write up a quick driver, assuming the specs on that hardware are available. Really, it is just a question of converting from one bit stream format to another -- and my hunch is that this is unnecessary, since there are standard formats that have probably been implemented already (PAL, NTSC, etc.). Analog TV, thankfully, hasn't become a mess of proprietary formats (the way digital movies and music have).
      • Re:Video Lan Project (Score:5, Interesting)

        by aonaran ( 15651 ) on Thursday October 05, 2006 @03:34PM (#16326405) Homepage
        Speaking of VLC, I know a guy at the cable co where I used to work who uses VLC running on $800 Dell servers with capture cards to digitize analog channels to a format that the digital boxes can read. He saved the company $9000/channel for each of the channels they didn't have already piped to them in digital format (the lowest cost purpose built digitizer was $10,000)

      • Re:Video Lan Project (Score:5, Informative)

        by dgatwood ( 11270 ) on Thursday October 05, 2006 @04:06PM (#16326869) Homepage Journal

        I wrote a long response to this, but screwed up and hit command-Q. I won't retype all of that, but here's a much more concise version.

        The things you need are a scheduler (to determine which commercials air when), a program format spec file (to tell where in a program file the actual video begins and ends so you don't end up unnecessarily airing several seconds of black as you might if you just paused the playback of a TV show), and a mechanism for crossfading the audio between spots to handle the case where people run it right up to the wire. You need a switcher for the video---the ability to quickly change from one foreground full-screen video window to another without any glitching. This is a lot harder than it sounds. Finally, you need a player that can start pretty much instantaneously and without glitch in the middle of a program. I haven't found that to be true of VLC at all in my experience, but maybe it has improved a lot in the last few months....

        For a possible controller UI, you might check out SongCue on SourceForge. I designed it for radio automation, but combine that UI with a preview pane above each controller and show a still frame from 5 seconds into a segment, and you have a UI that would work pretty well for what you're doing, too. Maybe even show live video in the preview panes during playback. (I wouldn't recommend the code from SongCue, though, as it's pretty much raw Xlib, not for the faint of heart.)

        If I were writing such a thing, I'd start with a Mac OS X (10.4 Server) box. Xsan provides a supported mechanism for handling your storage needs. QTKit can do your playback, and Quartz Composer should make switching the foreground full screen movie pretty easy. The only potential snag I can think of would be that if you aren't careful, you could mouse over onto the live output signal, but all things considered, it's probably the easiest way to build an app that does what you want, IMHO.

        • The whole "accidentally switching over with your mouse" thing is a real problem that needs to be directly addressed.

          This is what you need:

          *) At least one seperate video card monitor output per video channel (Matrox Gxxx, NVidia MVS 440)
          *) A decent scan-line converter to convert and interlace the VGA into NTSC (one per sim. channel)
          *) Ideally, a programmable, matrixed video switch.

          With a decent 3U server you can stuff in a few PCI or PCIe cards and handle 4-7 channels simultaneously on one box without framed
        • Re: (Score:3, Informative)

          by swillden ( 191260 ) *

          You need a switcher for the video---the ability to quickly change from one foreground full-screen video window to another without any glitching. This is a lot harder than it sounds.

          Yes, it's hard -- but I don't think it's really necessary.

          As long as all of your video streams are digital, you just need to make sure that you're feeding a single, continuous stream of video to the playback engine, and then change the stream you're feeding in, stopping the previous stream after the completion of a frame, th

  • Look at VLC, MPEG4IP, etc. Lots of options out there....
  • Yes (Score:5, Informative)

    by Yonder Way ( 603108 ) on Thursday October 05, 2006 @02:50PM (#16325623)
    It wouldn't even be all that complex.

    MySQL database that indexes all content.

    Also have a table for the schedule.

    Batch job queues up content. As one piece of content finishes, next piece is queued up and plays.

    All of this can be made fairly redundant without too much effort. Setting up your schedule can be point & click.

    The real work will be if you want to make it fancier to give the advertising department more direct control over what ads run when, as opposed to having the programming manager schedule all of that.

    All of this can pretty easily give you a very detailed automated log of what content played when, when you gave your station ID's, what ads played, etc.

    Pick one good well known scripting language, learn it well, and use it. I'm not going to enter the holy war of telling you which one to use.

    MySQL can be replaced with PostgreSQL if you prefer. Doesn't matter which. You're not keeping your content in the database, just an index of where to find the content on the filesystem plus the broadcast schedule.

    The REAL work in all of this is making it resilient so you don't hit dead air. Redundant systems with automated failover, etc. And the cost of entry may be high, but I can't recommend highly enough that your content be stored on a redundant SAN or NAS infrastructure. Most of my long nights repairing things have dealt with failed hard disks. A decent SAN or NAS will allow you to rest easily at night.

    Additionally a system like this will allow you to have a much more intelligent content-rich web site.

    And I'm also sure there are people at Google who would love to talk to you about your ad delivery system if you put something like this in place. You would like to increase your ad revenue, wouldn't you? Google is working on breaking into this space in a big way. It would be worth making a few calls.
    • by sterno ( 16320 ) on Thursday October 05, 2006 @03:10PM (#16326001) Homepage
      Making it redundant is important, but the other challenge is making sure that it's usable by programming people who don't have significant technical expertise (at least not of this sort). Intutive ways to queue up programs, ads, etc. You can have a system with all of the bells and whistles in terms of redundancy, storage, etc, but if nobody knows how to use it effectively, it doesn't matter.
    • Re: (Score:3, Interesting)

      by Rohan427 ( 521859 )
      Just to backup what Yonder Way said, Yes. I worked on a project for a little while that was to provide scheduled playback for Internet audio and optional video streaming. It used a MySQL database for tracking artists, program schedules, playlists for the programs, supported e-Commerce, traked where the actual audio and video streams were, etc. For playback, there are many different applications (free) that can do the job depending upon the format you wish to provide. The hardest part (not including the time
  • by brkello ( 642429 ) on Thursday October 05, 2006 @02:50PM (#16325627)
    Teach me how to do my job.

    Thanks!

    (I kid! I kid!)
  • I have been wondering the same thing. I was expecting to be a little more elaborate, and generating the content in realtime. OTherwise, I would think that things like geekradio [sourceforge.net] might be modified to fit commercials, show snippets, station announcement, etc.

    The real question in doing a TV station, is how to get a license for the LPTV station? THe FCC website talks about having to check the website for when the application window is active, and they only allow license applications when they think it is conve
    • by chuck ( 477 )
      I'm not sure what you're referring to. The station in question already exists.
  • tv station!..yes...but does it run linux.... oh wait..that's the question.
  • Though I don't know how to accomplish the job, I thought I'd mention that--assuming you get it to work--it's nice to see linux being used to accomplish things like this in the corporate world. It shows other companies that it is indeed possible to run a business without proprietary software.

    Please do let us a know what your final solution is.
  • Given that... (Score:5, Insightful)

    by also-rr ( 980579 ) on Thursday October 05, 2006 @02:52PM (#16325673) Homepage
    The BBC runs a lot of their system (including the weather graphics [slashdot.org]) on Linux I'd say that the answer is yes. The more important question is how hard is it for me to do it.
  • The closest thing to a video iTunes I can think of is MythTV
    I did find this how to on TV output
    http://ivtv.writeme.ch/tiki-index.php?page=TvOutHo wto [writeme.ch]

    I have no idea if these cards are broadcast quality.
    The good thing is you can try out a some solutions without spending a lot of money.
    I could be wrong but isn't this going to be a little more complex than just running a play list?
    How many playback systems would you use? What kind of switch? What about audio output?
    You will also need to worry about the video an
    • And I am a big fan of MythTV too! It is great if you are sitting in front of the TV with a remote -- which is what it is supposed to do -- but it is not geared around playing content, from pools of media, in a lineup that you'd want for a television station.

      I can imagine, however, that most of it (and supporting libraries/packages) is already there for managing the media, and varied hardware. It even has the multiple backend/headend support, which would be ideal for this type of application.

      I can imagin
  • Most all of the compositing, editing, and formatting software is for windows. For some very limited sorts of things, you could probably roll your own, but it would take a lot of development time, and probably be hard to use.

    However, you should check out Apple's final cut pro. I've seen it used for small-medium sized TV stations, and it's not too hard to use. I like it.
    http://www.apple.com/finalcutstudio/ [apple.com]
    http://www.apple.com/uk/pro/profiles/tourdefrance/ [apple.com]
    • Most all of the compositing, editing, and formatting software is for windows. For some very limited sorts of things, you could probably roll your own, but it would take a lot of development time, and probably be hard to use. However, you should check out Apple's final cut pro. I've seen it used for small-medium sized TV stations, and it's not too hard to use. I like it.

      RTFQ:
      "I've been tasked to move them to computerized playback"

      Not compositing, editing, and formatting; failsafe, scheduled playback. F

      • Writing some custom code to provide playback functionality on OS X would be a snap. It could be done via REALbasic and AppleScript with very little effort.
    • by Anonymous Coward on Thursday October 05, 2006 @04:48PM (#16327541)
      I know you didn't ask for any composting, editing, or formatting software. And I know you plainly asked for Linux. But you should really check out Final Cut Pro. It doesn't do what you want and doesn't run on the platform you suggested, but I used it once and it was great.

      Mod me up informative!
  • by gstoddart ( 321705 ) on Thursday October 05, 2006 @02:58PM (#16325791) Homepage
    Not to be a technology nay-sayer, but does this low-power TV station need all of this high-faluting stuff?

    Sometimes I have visions of throwing a load of technology at a problem, and then leaving someone with a solution they can't run, maintain, or understand. And then they've leaped back even further in technology when it all becomes inoperative.

    The thing you have to ask yourself, is do they really need it, and can they be updated to it without damaging them in the long run?

    [ No, I'm not a complete luddite, I just wonder if this is a step they might actually be ready to take ]

    Cheers
    • Re: (Score:2, Interesting)

      I second that.

      In working for a doctors office, I was all ready to set them up with a better switch (they are running netgear now) and a couple other high tech solutions... Until I thought about it a bit more, and realized that they are fine.

      What might be a better idea is to leave them where they are, and pick away at a new solution that might involve MPEG and CRON and linux stuff, but only for the day that all of the stuff they are using now is broke.

      Taking your time might also mean some other solu
  • NTSC Signal (Score:5, Insightful)

    by AKAImBatman ( 238306 ) * <akaimbatman AT gmail DOT com> on Thursday October 05, 2006 @03:01PM (#16325847) Homepage Journal
    Everyone seems to be forgetting the little part about translating the MPEG compressed video into a broadcast quality NTSC signal, preferrably without noticable artifacting and color problems. Depending on the equipment, a simple TV-OUT port could be used, but would that really give the results a television station needs?

    Also, let's not forget that he needs to future-proof his solution for digital transmissions. While there's tons of NTSC equipment on the market, what does one use to broadcast in digital? Presumably, he'll need encoders that are well suited to broadcast technology and an advanced digital to analog signal coverter at a minimum. He'll also need to understand whether he will have to support SDTV broadcasts, HDTV broadcasts, or both. If it's both, does his software support anamorphic encoding? If not, what is the hit from multi-encoding?

    I'm barely even scratching the surface of the problems he's going to have. Right now, Linux has media software intended for home use. Setting things up for a professional television station is a whole other ball of wax that probably hasn't been considered yet.
    • Re: (Score:3, Funny)

      Depending on the equipment, a simple TV-OUT port could be used, but would that really give the results a television station needs?

      He said "low-power tv station," so as long as he can either tell that the local used car dealer is still bald or make out the nipple on the feed from the camera he put in his hot neighbor's bookcase, he's probably good.
    • Not that I've ever done anything with Broadcast TV but I would imagine for the best possible image you'd output your video through the VGA and use a standalone broadcast quality device to encode it to the necessary NTSC signal, AFAIK VGA is about as high quality as you can get for an analog signal (for all I know there is some OTHER standard used in the pro sector that I've never heard of) and it's certainly one of the best analog video signals you could get out of a PC. I would think that a VGA to whatever
      • You can't do that. Broadcast television is interlaced. VGA is progressive. Never the twain shall meet.

        This comes back to the problems he's going to have. He needs his MPEG source to be interlaced as well, OR he can use a 30fps deinterlaced source that gets interlaced in real time. Neither option is very appealing, and most people don't even understand what that entails. If he creates the signal incorrectly, all you're going to get on the screen (presuming you get anything) is a blurry mush of interlacing ar
        • Or just buy one of these [magnisystems.com]. He can do his MPEG decoding in linux, output to either DVI or VGA, and use a broadcast quality scan converter like the Magni to pump out a clean NTSC signal. In YUV if he wants.

          • by AKAImBatman ( 238306 ) * <akaimbatman AT gmail DOT com> on Thursday October 05, 2006 @04:10PM (#16326925) Homepage Journal
            *sigh*

            Trans. coding. Problems.

            Just because you can sample an NTSC signal off of VGA, doesn't mean that it will produce the results you want. The equipment you linked to is designed to take a *clean* computer graphics signal, and then resample that for NTSC broadcast. Which makes it useful for stuff like the Superbowl helmets colliding, or digitally filmed/transferred television programs.

            This fellow needs to take an interlaced signal from an old tape, encode that to MPEG-2 in an interlaced format (preferrably with no detectable quality loss), then reencode the signal as an interlaced NTSC signal for broadcast. The best way to do that is to keep the signal cohesive at all three steps. If you start transcoding the signal into progressive, then back into interlaced, you're going to get a significant drop in quality.
        • Never the twain shall meet.

          Uh huh

          Tell that to my first VGA monitor, it loved interlaced video so much I had to get glasses...

    • Also, let's not forget that he needs to future-proof his solution for digital transmissions. While there's tons of NTSC equipment on the market, what does one use to broadcast in digital?

      I'm no expert in TV broadcasting, but my guess is this would be most easily accomplished by some black box that converts the NTSC broadcast signal into a digital one. Sure you'd only get 480p at best, but remember this is a LOW POWER station. Just getting a digital signal out is probbably more than anyone expects.

      Converti
    • Re: (Score:3, Informative)

      by Lumpy ( 12016 )
      hollywood+ mpeg playback card.

      Bingo... NTSC broadcast quality.

      dont believe me? most of the weather channel boxes and TV guide boxed in CATV headends as well as the locall access channels used to use them and many still do.

      linux compatable and works great. problem is that you haveto begin and end EVERY video clip with 1 frame of black or you get wierd artifacting.

      using mplayer with it and you can do even more.

      Hardest part is to generate a system to insert ad's and do the verification of playback for billin
  • Internet TV!!! (Score:3, Interesting)

    by KallosEsq ( 1009785 ) on Thursday October 05, 2006 @03:03PM (#16325891) Homepage
    Yes, this can be implemented on a linux box very easily.
    Long story short I implemented this in 2002 at the University at Albany, SUNY [albany.edu] with a friend.
    It requires a dedicated server and a dedicated encoder.
    What will make the process easier is going all digital on your content development.

    It currently has a barebones site: Albany Student Television [albany.edu]

    You can use any number of devices to keep the content automated and going from cron to java scripts to shell scripts and what have you. The challenge is figuring out what you want to do and how you want it managed?
    Since 2002 there is a lot more technology out there. Our solution at the time was to use windows explorer with embedded media playing. Two draw backs were an occasional refresh logo in the top, and IE's tendency to be unstable.
  • Why not? (Score:5, Informative)

    by www.sorehands.com ( 142825 ) on Thursday October 05, 2006 @03:07PM (#16325955) Homepage
    I worked on a high-def digital cinema preshow playback system based on Linux. It is currently running in over 400 cinemas. Of course it would take work to find and glue them together. You would also need TV compatible video output with Linux drivers.

  • One would be: Storage on Linux, Playback on OS X - if you can automate it.

    Otherwise I recommend getting someone from an OSS video project (mplayer, VLC, whatever) to come and do some work on the gaps you have. Non-compression playback would be one I'd guess. Aside from that it's just about CPU speed and data throughput. Which todays PCs are sufficient for.
  • You said you have the expertise, didn't you? Surely that's what you meant?

    For the short term, throw together a couple DVD changers and a linux-based controller. (At least two changers so the 'next' program is ready to roll the instant the 'last' one finishes.)

    That'll give you time to look into file-based playback options (Mplayer, VLC, dedicated MPEG2 card). Tivo/Media Center/MythTV might actually be useful here; they manage a library of programs for you plus have a playback engine; you just need a plugi
  • by eno2001 ( 527078 ) on Thursday October 05, 2006 @03:16PM (#16326103) Homepage Journal
    ...it appears to me that BBC America is probably run by two people and an automated system. My reasoning for this? The glitches I see from time to time. Sometimes the schedule on their web site will say they are showing a certain program, when they are showing something else. Sometimes I've even seen things like a program go to commercial break and when the break is over, you're in the middle of a different program. I suspect these are automation glitches. My second reason for saying this is that I have a series of BBC America station IDs I've edited out of the regular program streams and I have an automated playlist system that can simulate a live BBC America feed just with the programs I've recorded and commercials I've produced myself. So the answer is: yes you can. The real question is, how much of your time do you want to dedicate to doing it and are you up to the challenge. I did it purely for the fun of running a virtual TV station. Would I trust it to work for a low-power TV station? Sure. But I think you'd definitely want better hardware than what I've got. Just make sure it's supported in Linux, or else it's a show stopper. (No pun intended)
    • by chuck ( 477 )
      I have an automated playlist system that can simulate a live BBC America feed just with the programs I've recorded and commercials I've produced myself.


      What the hell?
      • by eno2001 ( 527078 )
        Hey... it keeps me off the streets! In another life I used to be in radio and television. Being in IT is actually just something I lucked into.
  • You're looking for something similar to a video keg [blenke.com], but probably with a bit more processing power and a more controlled interface.
  • by jd ( 1658 ) <imipak@ y a hoo.com> on Thursday October 05, 2006 @03:16PM (#16326113) Homepage Journal
    Yes, but it will require a little tweaking. You'll definitely want hard real-time, or you'll skew the frame updates. Check to see what RTC clocks Linux supports and see if it would be viable to go in that direction. If not, the machine for playing must absolutely not run anything other than the player, then using the scheduler tools to set the program to run in the FIFO queue. (ie: make it totally non-interruptable).


    If you're running off remote disks, then the NAS MUST be capable of greater output than is required to transmit, as you absolutely must allow for dropped packets and other glitches that force a retransmit. If there's not enough time to fix the problem, then you're going to transmit a picture with noise.


    ALWAYS work ahead and cache pre-processed frames. There should be enough processed frames (encoded, digested and all ready to blast to the mast) that in the event of a failover (you DO have failover, don't you? :), you can be transmitting without interruption until the machine on standby is up and running. That way, you can almost (but not entirely) eliminate all possibility of downtime. Downtime is a VERY good thing to eliminate.


    Your NAS should use a striped RAID array (although each stripe may also be mirrored). Striping is essential in keeping the data flowing fast, and your hardware should be geared to maximizing that throughput. Let the realtime handle the scheduling.


    Don't bother using cron, or some other such userland service to start things. Exploit the FIFO queue. It won't run the next thing in the queue until the previous thing is finished. So long as you guarantee the stop time, you implicitly guarantee the next start time. You can then use cron to kill programs that overrun.

  • Disclaimer: I've never worked with video-out hardware in any sort of broadcasting environment.

    In playing around with various video sources, I've come across a couple of very good, high quality pieces of software that are able to transcode video from almost any source. If you do not need client-side playback and just want to pipe re-coded a/v streams to a tv-out device, consider using transcode:

    http://www.transcoding.org/cgi-bin/transcode [transcoding.org]

    I've never heard of SDI, but transcode's documentation states that it
  • Depends (Score:5, Informative)

    by Ironsides ( 739422 ) on Thursday October 05, 2006 @03:19PM (#16326165) Homepage Journal
    In a way you are asking two different questions here, due to the technical difficulties involved with a TV station playback. So, lets put it this way then:

    Do you require Frame Accurate playback? The reason that the profesional solutions you briefly mentioned are expensive and require their own storage are that they Garuntee frame accurate playback, no droped frames and everything else needed to playback everything flawlessly. One thing to remember about that, though. So long as you only keep the current days video on the server, you can stick with a video server with under 1/4 terrabyte of storage space (12Mbps vid+aud=~128GB) and have a seperate NAS for the next days video that just gets moved onto the video server throughout the day as what has already been played gets deleted.

    The main problem with most consumer video playback I have seen is that it is not frame accurate. Even on a decent computer, most video programs don't run at exactly the framerate of the video using consumer playback programs. Also, unlike the profesional hardware, the consumer programs don't pre-buffer the next file for playback so that there is a delay between the end of one file and the beginning of the next.

    We're also going to need to know what kind of outputs you want. Analog? What kind? SDI? HD-SDI What does your video router handle? Theoretically you could use a VGA/DVI output to a VGA/DVI-SDI adapter, if that's what you use. You'd also need to run it through a frame sync, but that's pretty standard for most stations anyway. Most likely you will not want to use the video card ouput of a PC, VGA/DVI/S-Video due to the need for then having a consumer program play it out.

    For proffesional level playout you're going to want a card with hardware playback. SkyMicro and ViewCast make some playback cards that will run under linux that it looks like you could use. I'm just listing them as an example that showed up after a quick googling. These capture/playback cards are essentially going to become the heart of your system if you want something resembling a cheap profesional system.

    So, as I said. It depends on how high end a system you want. However, it looks like it is possible to get a decent one going. One thing to remember, and I state it as habit, trial test whatever cards you are looking at before buying. Some of these cards can run to $2000 a piece and you're probably going to want redundancy.
  • Coding something to play off lists of scheduled video would be rather simple. If you're decent with perl/mysql, a database with a nice front-end to enter programming details, and a scriptlet that you can launch in the morning that would start up mplayer/whatever at proper times (based on the database), and "break" screens in between would work.

    Commercials are a complication. Inserting them into the middle of a show would require that you either:

    a) Have your scheduler aware of the "break" times in the sh
  • Sounds to me like all you need is a scheduler (easy enough to write) that feeds an MPEG stream to whatever device you're using to drive the broadcast signal. How hard is that? How are you converting your MPEG stream to NTSC? I've done basically the same thing for these [vbrick.com], although that won't help you as they're basically just streamers that work with a corresponding player on somebody's PC. But I did whip it up in just a couple of hours, so hopefully your solution won't take much longer.

    Or is that your qu
  • by Ziff ( 48647 ) on Thursday October 05, 2006 @03:25PM (#16326265)
    If you want to do it for real, take a look at the MLT project: http://mlt.sourceforge.net/ [sourceforge.net]
    That has support for for example the Bluefish444 SDI cards, and do playout of real broadcast formats, such as DVCPRO, but also regular MPEG formats.

    It also provides ShotCut, a really competent Non-linear editor, that can send edited clips directly to playout.

    I know it is in use in one of Indias largest broadcasters, and they transmit to millions of viewers. So it would definitely be good enough for a small station like the one you are talking about.
    • by sunya ( 101612 ) on Thursday October 05, 2006 @04:09PM (#16326911) Homepage
      I was the project manager for MLT. I know for a fact that there are 35 playout boxes running MLT on Bluefish444 SDI hardware, and capable of handling DV, DVCPRO, MPEG-2 among other formats. Visit the http://mlt.sf.net/ [sf.net] site and contact us (preferably via the SF mailing list) and we can help you out. MLT was built for the express purpose of broadcast playout (I should know, I wrote the spec :) . So, to answer your question : Yes, you can. Oh, it is opensource under GPL, and it runs on Ubuntu (recommended). And it provides a complete framework to write your own media apps. I can (if I dig around for a bit) share some code for playlist management as well...
  • It all depends on what your requirements are. They have been completely and unambiguously defined, right?
    You should already have the following defined:
    1) Playback/Recording video resolution required (Standard broadcast resolution, High Definition (720i, 1040i, ....)
    2) Playback/Recording video quality required (What level of compression is considered acceptable?)
    3) Audio playback/recording requirements (Number/quality of audio channels)
    4) Archival requirements:
    ..... a) Maximum number of hours that ne
  • by giafly ( 926567 ) on Thursday October 05, 2006 @03:27PM (#16326299)
    You're stuck in the mindset of proprietary programming [groklaw.net]. Just publish a couple of videos under the GPL, then everyone who wants to can modify them into their own ideal TV Shows.
  • by tgatliff ( 311583 ) on Thursday October 05, 2006 @03:38PM (#16326463)
    I designed something similar to this for their CNN Headline news division in Atlanta. The long and short of it is yes you can do it, but rollout approach is very important. For HL, the issue was the shear amount of requirment responsabilities. Everything from "if a plane crashes, do not show American Airlines commercials", to "In this special case, do this" type of thing.... It performs flawlessly, but you really need a good senior developer to pull it off...

  • Which is very hard to answer. Of course, it can be done on Linux. It can also be done on Windows, and MAC OS-X.

    Do you want to pay the big bucks, or write code from scratch? The vendors charging the big $$ hope you're forced to buy. Of course, we on /. hope you'll do it with open-source, so we can start our own TV broadcast stations for free :-D
  • You can run Linux, Mac OS X, Windows, no matter what. It all depends on what you are able to pay upfront, in the long run, whether you are developing something yourself or if you have to use certain packages.

    If you're starting absolutely fresh (no olden software that has to be migrated) I would definitely start with Linux or Mac OS. I would use Mac OS because of the relatively cheap hardware and stability that comes with them and of course the ease of install and management. I would choose Linux as the prim
  • see http://www.deltacast.tv/Products/Delta_sdi.htm [deltacast.tv] - their SDI cards (1/2 size PCI) will do 8/10 bit I/O YUV or RGB on Linux 2.4 or 2.6. They also have an SDK - see http://www.deltacast.tv/Products/VideoMaster_SDK.h tm [deltacast.tv]

    Disclaimer: I haven't used these, but a quick google turned them up.
  • by digitalgimpus ( 468277 ) on Thursday October 05, 2006 @04:10PM (#16326921) Homepage
    I'm going to be honest here...

    I'd stop looking at 1 platform solutions.

    Why not consider perhaps Linux for part of the solution? Perhaps Linux based storage system, and maybe Mac / Windows workstations.

    When you go 1 platform, no matter which, your limited. When you use standards between the platforms you gain a lot more. That's why you go with SMB over AppleShare for example.

    Don't limit yourself to a platform. Just use things that work well together. There aren't many companies that go 100% 1 platform. Especially in media.
  • You want to find cards that do your video playback decoding through the cards (need to be able to handle your compression scheme, at least 6mbps). You might want more than one card if you find there are instances you want to play out using the same content set to multiple streams (like a feed going out to a cable head end and to an internal tv network). More than one card in one machine can of course confuse control issues, so it might be better to have one machine and one card per channel all hooked up v
    • forgot some stuff...

      Do you worry about reporting?
      Redundancy?

      If this is for a PEG (public / educational / goverment) access channel, you can't go down without running the risk of losing valuable barganing ground at the next cable contract renewal...

Beware of Programmers who carry screwdrivers. -- Leonard Brandwein

Working...