Khamis, 23 September 2010
Adobe Flex 3 Developer Guide
I really need an IPAD to red this 2000++ pages docs. Already fall in love with Action Script and Flex. Just downloaded 300mb Flex 4 Builder.
CDS-IS Built in FMS Server
Me and somebody from XXX tried to publish LiveStream from Adobe Live Encoder 3.1 to built in FMS Server in Cisco CDS-IS and failed
Flex RIA
I'm reading these 2 books at the moment,
- RTMP auth
- Camera selector
- Publish / Unpublish stream
- Sabex - Professional Flash Video ( AS2,AS2 )
- O'Reilly Essential Action Script 3.0
- RTMP auth
- Camera selector
- Publish / Unpublish stream
Rabu, 22 September 2010
Flash Streamer to Wowza Server
Imagine you create your own streamer using Action Script 3. After few hours of learning and testing AS2 and 3 now I'm able to publish live event from my webcam to Wowza Flash Server.
Isnin, 13 September 2010
Selasa, 7 September 2010
Wowza Recording :: Managing files
Wowza records the stream and put it into $lib/content directory. With no database connection though. So I wrote a simple file manupulation class ( thanks CakePHP File Utils ), and user can view thier own recorded video streamed using rtmp :D
Wowza Stream Recording
Wowza supports live recording, which is pretty cool. Default format is in FLV. SO my plan for the system,
- User will have 2 streams type, Live and LiveRecord
- If user wants to record the live stream, just push to rtmp://x.x.x.x/live-record/streamname
- The VOD playback will be in RTMP format so we can force the user to view on the site
- Downloadable video is an option
Isnin, 6 September 2010
Beta Test : Stream Your Life
Register with Stream Your Life Portal |
Read the Settings information, and download the necessary software |
Adobe FMLE Encoder asking for Username/Password ( the one you register at the portal ) |
Realtime Statistics |
Now you can see your streaming on the website. |
Streaming Service is a the new phenomenon nowdays. Youtube for example offering free Video On Demand Streaming based on user submitted contents using Flash technology. Now the streaming players have evolved to Live Streaming service. Realtime Streaming is possible using RTMP protocol used by Adobe Flash Media Server, Red5 and Wowza Streaming Server. So for this project the goal are :
- User can self register to the portal
- User download Adobe Media Live Encoder
- User connecting to the portal from encoder by providing Username & Password
- User start streaming and can share the stream to anyone
- Every registered user will be given 1 stream name
- Stream is viewable by PC, Mobile Phone using Flash Technology
- Statistics for every stream
The Challenge For Integration
Wowza is Java based and the API is in Java. The portal is written using CakePHP framework which is powered by PHP and the database is provided by MySQL.
A barebone Wowza doesn't have much protection
- everybody can publish to Wowza without authentication
- hotlinking from origin server ( imagine somebody stole your stream and put into their website )
- no MySQL based logs for every stream
- no limit on which encoder can publish to the server ( FMLE,Wirecast, Custom AS3 )
The most important thing is, how do I integrate my CakePHP User with Wowza and each user can only stream according to thier username only ( limit 1 stream per registered user )
After days of strolling the net ( especially in wowza media forums ), all the requirements above have been fulfilled even without proper Java knowledge :D
Skillsets Needed
To polish the system to enterprise level, I'll need the workhorses with these knowledges :
- Java Programming ( wowza modules development )
- Video/ Audio Format
- Wowza/ Flash Media Server
- Streaming Technology
- Mobile Phone Developer ( J2ME,Cocoa,Blackberry )
- Linux System Administration
- Web Development ( CakePHP,Ruby On Rails, Gearman, Ajax, Jquery )
- Flash Developer ( Action Script )
- MySQL Database logging / Shell Scripting
- Scalabity / HA / Load Balancing
Target Clients & Possible Applications
- Organization who want to do live streaming
- Weddings Live Stream
- Online TV Stations
- Ustream
- Flix
- JustinTV
- LiveStation
- Qik
Possible Revenues
- Advertisement by user channels
- Advertisement preload before stream play
- Premium stream plan ( recording, higher bitrate, HD, privacy options, more channels, statistics )
- There's no local free streaming in Malaysia. This streaming will cater user's in Malaysia and since it's located withing the country, faster streaming experience can be achieved
- Streaming made easy with user friendly software and can be viewed using regular browser. No need special software to view the stream
- No need to publish stream to foreign country as the same service can be done locally
The hard part ( integrations to portal, statistics, logging ,ACL permission ) have been done. Basically the framework is ready to cater more personalisation based on client's need. This technology potential is limitless. You can target both PC and Mobile user from single application.
Live demo : http://202.190.99.75
Azril Nazli Alias
Putrajaya
Sabtu, 4 September 2010
iStream.My Features
After weeks of playing WowZa, the goal of making my own user generated stream site is getting closer. So lets define what the site basic features :
1. Multiple user groups via ACL ( super, admin, user, suspended )
2. Integration with Wowza RTMP Authentication engine based on their username/password
3. Limit user's stream number/name/bitrate
4. Prevent hotlinking by only allow my server's IP in Domain Lock setting ( not embedable )
5. Statistics for each stream, number of viewers, list of active stream
1. Multiple user groups via ACL ( super, admin, user, suspended )
2. Integration with Wowza RTMP Authentication engine based on their username/password
3. Limit user's stream number/name/bitrate
4. Prevent hotlinking by only allow my server's IP in Domain Lock setting ( not embedable )
5. Statistics for each stream, number of viewers, list of active stream
Wowza RTMP Authentication and CakePHP
Adobe FMLE 3.1 asking Username/Password to Publish |
URL : http://www.wowzamedia.com/forums/showthread.php?t=1281
I want to protect my stream to only authorized user ( registered users ). In order to do that, I'm using Wowza Media Security Module. After following the guide in PDF, my Adobe FMLE finally asking for username / password. The module is using plain text file to store the username/password pair and I'm intending to sync it with my CakePHP Users database. The plan will be
1. Write a wrapper class to manage users in wowza text file
2. User CakePHP callback function in Users Controller so when user registered with the system, it will sync with the flat file, so does when the user update or de-register from the site.
Rails 3 and Ruby 1.9 on Windows
Ruby on Rails 3 |
I'm PHP guy and i use CakePHP extensively in every project. I'm totally in love with CakePHP. But to extends my knowledge , I need to treat Ruby On Rails as my 2nd wife. Still in love hate relationship. Since Rails 3 just being release, I have new pet project now. I want to develop a mini streaming service using RoR and Wowza. The end product should enable registered users these features :
- live streaming path
- statistics for every stream
- embed code for for live streaming player
- index page listing current live streaming
RoR 3 Tutorial : http://railstutorial.org/chapters/beginning
Jumaat, 3 September 2010
Wowza Media Streamer & Cisco CDN Integration
Just talked to Cisco support regarding Wowza & Cisco CDS-IS, hopefully that thing can work
Khamis, 2 September 2010
Pet Project : GPS Tracking System using BlackBerry
My wife just bought me a present, a Blackberry Bold 9700 with 3G internet plan from Maxis. The phone got GPS and supports J2ME. I've written a simple J2ME code to grab GPS data and send over HTTP periodically, but that's for my Nokia E71.
For web based interface, I planned to use Sencha Touch ( http://www.sencha.com )
For web based interface, I planned to use Sencha Touch ( http://www.sencha.com )
Rabu, 1 September 2010
Buat sistem untuk import log ke dalam database
Alkisah nak dijadikan cerita, saya ada satu task untuk process semua logs ( apache style ). Ada beratus-ratus file dan dalam setiap file ada beribu ribu row data.
Jadi bagaimana nak
1. masukkan ke dalam MySQL database ?
2. jika run kali kedua, adakah sistem akan buat checking data telah masuk atau belum
Solutionnya, saya buat satu extractor and importer script menggunakan CakePHP CLI
Jadi bagaimana nak
1. masukkan ke dalam MySQL database ?
2. jika run kali kedua, adakah sistem akan buat checking data telah masuk atau belum
Solutionnya, saya buat satu extractor and importer script menggunakan CakePHP CLI
Satria NEO memang champion
Nak dijadikan cerita, aku kena datang Kota Bharu untuk fetch wife balik ke Batu Pahat. So dari Tumpat aku drive ke Kuala Krai. Kuala Krai ke Gua Musang. Gua Musang ke Kuala Lipis. Kuala Lipis ke Raub. Raub ke Bentong. Bentong ke Karak. Karak ke Gombak. Gombak ke Putrajaya. Putrajaya ke Melaka. Melaka ke Batu Pahat.
Jarak perjalanan 750km
Waktu mula : 9am
Waktu sampai : 7pm
Jarak perjalanan 750km
Waktu mula : 9am
Waktu sampai : 7pm
Web Application Development
Now the workload is getting heavy
- Google Map for Base Stations and Subscribers
- CCTV Management System
- Video Management System
- Wowza Log Management System and Wowza System Administration
- CDS-IS CDN Log Management System
Langgan:
Catatan (Atom)