Categories: Software Development, b2evolution
2009-01-19
RTMP: Flash video streaming protocol
Real Time Messaging Protocol (RTMP) is a proprietary protocol developed by Adobe Systems for streaming audio, video and data over the Internet, between a Flash player and a server.
This protocol is used by a number of well known sites such as BBC iPlayer, Hulu and videolectures.net.
My interest about this protocol is in being able to save streamed video for later viewing (while sitting in a cafe or traveling). Most of popular open source video players and tools currently do not support RTMP, be it for playing video or downloading the video stream.
Here are pointers to information that I could find:
RTMP protocol:
- RTMP open source and RTMP protocol [Open Source Flash]
- RTMP protocol [Gnash Project wiki]
- AMF object spec - describes a format of data objects passed inside RTMP connection
- RTMP protocol flavours - lists various flavours of the protocol: RTMP, RTMPT, RTMPS, MRTMP, …
- RTMP protocol, handling and downloading [Zen of Linux]
Downloading RTMP streams (let me know if they work ok for you):
- rtmpdump [C++, open source (GPL)] - a small, nice utility developed by Andrej Stepanchuk (based on the libRTMP library from XBMC media player)
- “get_iplayer gets High Quality Flash BBC iPlayer RTMP Downloading Capability” - uses rtmpdump for downloading RTMP from iPlayer.
- How to record RTMP flash video streams using Red5 [Java] - describes Java code to use with libraries from Red5 in order to record RTMP.
- How to record rtmp:// flash video - a list of tools for recording RTMP streams. (*)
(*) tools in that list are Windows only and closed source (= will not help in improving RTMP support in other tools).
Libraries:
- RTMPy [Python, MIT license] is a Twisted protocol for RTMP
- RTMP library [C++, GPLv2] from XBMC media player
- ToDo list for a C++ RTMP Server mentions “pull out a C++ RTMP Client library from the present sources for stand-alone use” as one of the tasks for volunteer contributors.
- libcurl - there is an open ticket about adding RTMP support
Re. RTMPy it was not clear to me how to use it for the task at hand.
Interesting applications:
- radio2daap [Erlang, open source (MIT license) - expose on-demand flash radio as an iTunes shared library
- XBMC [open source (GPL) ] - a fully functional media player application with RTMP support.
But how do you use it to record a RTMP stream? (e.g., this video from ISWC08)
With regard to standalone applications there are RTMP streaming servers (e.g., Red5) but we may have to wait a little further before protocol support appears in media players like mplayer and VLC, or in libraries such as libcurl.
What is your experience in working with / playing / recording of RTMP media streams?
2009-01-08
Choosing VIM Color Scheme
VIM Color Scheme Test shows VIM in >300 different color schemes. There’s a lot to choose from.
I currently use MacVim and its default color scheme. Will need to find a good color scheme to use in the fullscreen mode (Cmd-Shift-F). I had a custom scheme installed in Komodo Edit but I have not used this editor in a while.
What are your favorite code editors / IDEs and what color schemes do you use?
2008-10-02
Programming Languages I've Learned (in rough order)
… following a meme via James Tauber, Dougal Matthews and Eric Florenzano:
* BASIC
* Turbo Pascal
* C
* C++
* MS Access (Visual Basic?)
* FoxPro
* x86 Assembly
* Java
* PL/SQL
* PHP
* JavaScript
* Python
Languages which I have had a brief encounter with but not enough experience to include them in the list above: Logo, FOCAL, REXX, Perl, Prolog, LISP, Haskell, bash.
Plus markup languages and others: HTML, SQL, XML, RDF/XML, Turtle, SPARQL, XUL, LaTeX.
This list almost tells a story (like looking at a photo gallery) about work and study experience. Almost, but not quite. To make a story complete some languages would need to appear twice or more - when first learned and when used again, in combination with other languages and architecture components.
Update: had forgot to add PHP (I wonder why
). fixed.
2008-08-01
GIT as a versioned data store in Python
An interesting project: gitshelve - Using Git as a versioned data store in Python
The gitshelve module is a part of the git-issue project, which is an attempt to bring distributed bug tracking to Git.
Useful if you need to store a version history of objects in Python. I am wondering if this can also be useful for keeping version history of files collected by a web crawler (or what is the preferred solution that people use in such case).
Useful GIT links:
- GIT magic [stanford.edu]
- GIT from the bottom up [newartisans.com]
- The thing about GIT [tomayko.com]
2008-07-07
Upgraded to Mac OS X 10.5 (Leopard)
I recently upgraded my notebook to Mac OS X 10.5 Leopard.
It is quite late compared to many first adopters, but there was no reason to rush. Even so there still are some rough edges to Leopard (e.g., a bug with desktop screen size after the external monitor gets unplugged) that need to be ironed out.
What are your experiences with Leopard, do you enjoy the new look & feel and what is the “must-have” software that you would recommend using with it?
P.S. One reason for waiting with an upgrade was because I did not have a good backup / HDD imaging solution in place (solved using SuperDuper!). The other was too much travel and not wanting to risk upgrading shortly before traveling.
Post-Upgrade Notes:
HP Printer Driver 1.1 was released by Apple on July 15, 2008. Printing stopped working for me after installing this update. This support discussion post suggests how to fix the problem by replacing the following directories with older versions (backup from before printer drive upgrade):
- MacintoshHD/library/printers/hp/filter/hpPostProcessing.bundle
- MacintoshHD/library/printers/hp/PDEs/hpPostScriptPDE.plugin
:: Next Page >>
captsolo weblog
See also:
- My homepage (captsolo.net)
- @CaptSolo on Twitter
- FriendFeed profile
:: Next Page >>
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| << < | > >> | |||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | |||
Search
Gallery
www.flickr.com
|
Categories
Archives
- September 2010 (1)
- June 2010 (1)
- October 2009 (1)
- March 2009 (2)
- February 2009 (4)
- January 2009 (2)
- December 2008 (2)
- November 2008 (5)
- October 2008 (10)
- August 2008 (1)
- July 2008 (4)
- June 2008 (1)
- More...
- more...


