Updates

November 24, 2009 | Projects | 2 Comments

So I thought it would be good to throw out some updates on the progress of some of my side projects I’m working on. Over the past few weeks I’ve been focusing on two projects. A new XBMC media manager written in air and a solution for streaming content from a HDHomeRun to the Flash Player. So here we go..

XBMC Media Manager

So this project has been the one I’ve actually worked on the most. It’s something that I believe will be most beneficial to myself and others. I’ve been doing a lot of research into how XBMC’s database schema works. I’ve created a way to take a file location and convert it into a CRC hash and use that to load the thumbnail image. I’ve also wired up a good portion of the program using the MATE framework and also using the SQL Extension for mate. Overall the progress has been good and steady. I haven’t been able to wire frame as much as I would like but I feel that I have a good handle on the user interface and the experience the user will have. I hope to have something released by the end of this year or early next.

HDHomeRun to Flash Player Streaming

This has actually been a lot of fun (I love playing around with video). I researched a lot of solutions. First I started off with what Adobe had to offer. Which seemed rather restrictive. The best way to get video into the FMS is to use an application called the Flash Media Encoder that only runs in windows. The HDHR has direct show filters which is required to capture in FME. But it seems as though the filter isn’t recognized. But maybe in the future someone can figure out how to make a direct show filter that is recognized as a capture device.

After researching FMS for a while i searched through a bunch of other open source solutions. The one that I found to work best and what I will end up using is Xuggler + RED5. Xuggler lets you capture video and transcode it using ffmpeg. The only hard part is trying to get it to capture from a UDP or RTS stream. Both should be doable but we’ll have to wait and see. I’m not sure when I’ll be done with this project but I’m sure it’ll be a great one. Who wouldn’t want a way to watch their own tv shows over the internet? Almost like a slingbox.

2 Responses to “Updates”

  1. Hi
    I just installed hdhomerun and want to encode the tv signal using flash media encoder and broadcast live to the flash media server.

    I get a great over the air signal with hdhomerun but the flash media encoder only sees my webcam….

    any thoughts?

    the hdhomerun is connected directly via the ethernet cable to my laptop.

    really appreciate any insight you can give -

    many thanks
    Thom

  2. n8o says:

    Ah yes… I’ve had this same problem myself. Unfortunately I have not been able to figure out a good solution. The Flash Media Encoder requires a DirectShow-compatible video capture device. Silicon Dust says the device has a DirectShow filter (for BDA). However this doesn’t work with FME. So your alternatives are to either create your own DirectShow filter or to use another method. I’ve been playing with xuggler + red5 to capture stuff. I have to say I’ve been having a bit of a hard time getting it all to work.

    I’ve learned not to use UDP to try and capture with xuggler / ffmpeg but to use rtp. This is a nice guide that should help you piece something together. I’ve been tweaking the same guide to not us SDP files and allow me to just set the RDP string. This has been problematic. ffmpeg works fine but xuggler isn’t. If I can’t get it to work I’m just going to pipe the MPEG-TS file right in rather than trying to capture from a port (HDHR can save a MPEG-TS with the standard lib).

    Once you have the video in red5 it should be easy to get it to your FMS server or just serve video from red5.

    Wowza also supports capturing MPEG-TS from an RTP stream. You can get a developer edition that supports 10 connections to try it out with.

    There are some other resources out there for creating DirectShow filters. But from what I’ve read it can be very finicky. Please let me know if you figure a solution out. I would really like to know

Leave a Reply

Fork me on GitHub