Open Source Flash Video Streaming Server

October 30th, 2007

A co-worker just came back from a flash conference last week (Flash in the CAN), and he was telling me about Red5. Its an open source Flash Communication Server. Flash Com server allows streaming of FLV files, along with a bunch of other stuff, so I’m pretty excited. I’ll be reading up on it soon!!!

Update to flash video player

October 29th, 2007

I just finished a small update to the video player, this allows you to specify the relative address of the .flv video on the same domain in the address bar as a variable.Everything else is the same as mentioned previously. Check out this link I just set up for class:

Test player

So as you can see the address is
http://csm.flashclass.org/video/index.html
Then appended on the end you see the variable:
?theVideo=CSM_2007/mp3player/c7_mp3_Part1a.flv
This specifies the subdirectory (starting from the video directory) of CSM_2007, then the subdirectory of mp3player, and finally the file c7_mp3_Part1a.flv. This is closer to the youTube setup. However their variable looks more like watch?v=jLCVM5qBVtU, and this I would guess is something a database references, and returns the actual location of the file for the flash player. Something closer to this would be optimal as to have a shorter address. But to take a quote from the AS3 lecture I saw yesterday,
If it does what you want, its ‘right’“.

So in mentioning the lecture I was at yesterday, I saw a very interesting lecture on ActionScript 3, and its quite obvious to me now that I’ll be writing the actual beta implementation of the video player in AS3. Adobe has done a great job of re-organizing the development structure for AS3, and its worth exploiting it here for our purposes. Not only will the video run better since its been separated from other more cumbersome objects in flash, but its so much similar to other programming languages now that it will be easy in the future to involve other developers, even if they come from other backgrounds. I really need to figure how to get cvs setup!!!!

Cody Writes a Flash Player

October 16th, 2007

So last night I set up a quick and dirty video player. You can define the relative address of the .flv file and its size in the HTML and CSS. I exported some test video from Quicktime pro as well and it worked totally fine. I’ve got a test directory up here:

The Flash directory

you can find a download of georgeSimpleDeploy.zip there, unzip that and you have the basic video player (note if you run it locally you will get a security warning, just click ok). If you want to see it in action, choose

Flash demonstration

So here is what you have to do to modify the code:

Width and Height properties (this needs some fine tuning):

  • The width property is the width of the video.
  • The height property is the height of the video + 40 (40 is the height of the controls).

First you will need to modify the CSS in the Head tag

#flashcontent {
       border: solid 1px #000;
       width: 800px;
       height: 640px;
       float: left;
       margin: 15px 20px;
   }

Change the width and height properties as mentioned above

Second you need to change the SWFObject data:

First:

You will need to change the videoPlayer.swf setup:

var so = new SWFObject("videoPlayer.swf", "sotester", "800", "640", "9", "#FFFFFF");

change the values for 800 (the width) and 640 (the height) appropriate to your file, you can also change the background color here if you wish.

Second:

You will need to change the line:

so.addVariable("theVideo", "test_high.flv");

change the flv name information

If you hadn’t caught on yet about the George reference, its Curious George… Just a code name for now….I needed to call it something. Also feel free to call me with any questions. I’ll be working on some stuff for my class leading up till Wednesday, but following that I’ll be back to work on the video player. I’ll log into the blog and post something soon too.

Also the links I promised:

ActiveCollab (project management software)
-there is a free version 0.71 floating around somehwere still, but they went to a pay for version $200-400. I’m looking at some other stuff right now though.

My del.icio.us Tag

October 16th, 2007

I’ve added a tag to some of my del.icio.us entries, howcodeworks:rthelen/howcodeworks

Code Sample Aggregation

October 14th, 2007

It occurs to me that it might be a compelling feature to allow people to aggregate other blog entries to the site. For example, people could submit their blog entries or pages explaining how things work to the site. Then, those entries could be rated by viewers and they’d be linked from one part of the web site. This way, HowCodeWorks would become even more valuable to find things others have written.

It’s all about value, baby :-)

Topics For Videos

October 14th, 2007

Here are some areas of interest for videos:

    • Applications
      Data Structures
      Sorting
      File Systems
      Device Drivers
      Libraries
      Stack Frames
      Registers
      Math
      Processor H/W
      I/O
      Virtualization
      O/S Theory
  • Startup, malloc & break, heaps & stacks, pthreads, kernel traps, shared memory, queues, preemption, system calls.

    Arrays, linked lists, doubly linked lists, queues, hashes, stacks, binary trees, b*trees, big O analysis.

    Heap sort, quick sort, shell sort, merge sort, radix sort, insertion sort, bubble sort.

    Open/close/read/write semantics, cacheing, atomic transactions, hierarchies, locking, meta data, reording, on disk formats, inodes, over the wire formats, NAS, SAN.

    Raw & cooked, character & block, blocking, cacheing, read ahead, load/unload, USB, HBA, NIC, interrupts, DMA, out of band interrupts, in band interrupts, device semantics.

    LInking, ABIs, loading, load linkers.

    Function prologue, epilogue, paramters, early exit, setjmp, longjmp, varargs, call by value, call by reference, returning structs.

    ABIs, returning 64 bits on a 32 bit processor, multiply, divide, long add.

    Math lib, semantics, mechanics of shifting carry, overflow, and divide issues.

    Front side bus, DRAM, transistors, registers, adders, caches, cache lines, memory write buffer, address error, reordering.

    PCI, ISA, PCIe, non-cacheable I/O, read penalty, fire & forget writes.

    Binary translation, MMU, page tables, page faults, TLB, vmentry, vmexit, paravirtualization.

    UP, SMP, NUMA, cache coherence, read/write reordering, race conditions, deadlocks, fast bcopy, exception handling, IPI, panic, kgdb, kthreads, processes, virtual addresses, startup, starting an additional processor, exceptions & interrupts.

Carpe Noctem

October 14th, 2007

CodeCurious.com is a web site dedicated to explaining the finer details of systems, system software, code, instruction set architectures, and languages.

For example, I look forward to detailing the first few instructions within a user application in Linux.

This site will use videos as the core medium for explaining things. Along with the videos, each page will have the video transcript, the source code associated with the video, the video authors blog (to attach additional details possibly overlooked in the video), and comments (comments can either be for the video or the associated blogs). Also, each video can be rated by the viewers; tags will be added by the author but users can add tags, too.

Navigation

Search

Archives

April 2026
M T W T F S S
« Oct    
 12345
6789101112
13141516171819
20212223242526
27282930  

Other

Syndication