A few weeks ago FMS 4.5 was released. While reading through the system requirements it stated once again that it only supported running on Windows, Redhat and CentOS. Unfortunately for me I only develop on a mac and a ubuntu machine. In the past I had to use a script from this blog post to get FMS 3.5 installed.
So I decided to give it a try. To see if I could in fact get the server up and running on my ubuntu machine. To my surprise, the standard install scripts worked flawlessly.
Here are the steps:
- Download the development server
- unzip FlashMediaDevServer_4_5_all.zip
- cd [path_to_unzipped_files]/linux
- tar -zxvf FlashMediaServer4.5_x64.tar.gz
- cd FMS_4_5_0_r297
- sudo ./installFMS
- follow the onscreen instructions
- point your browser to your machines IP address.
Previously I posted about compiling FFMPEG with RTMP support. Now I’m going to describe what you have to do to view that content with Erlyvideo running on OSX of course.
Assuming you have MacPorts installed. Run the following command:
sudo port install erlang
Once that is done you are ready to install Erlyvideo. Go here for up to date install instructions (you will also need git installed).
Finally on to the fun stuff. go to http://localhost:8082/
Assuming everything worked alright you should see the flash content loaded. Go ahead open up terminal and run the following command replacing INPUT_FILE with the file of your choice.
ffmpeg -i INPUT_FILE -re -ac 2 -acodec libfaac -vcodec libx264 -vpre default -s 480x320 -f flv rtmp://localhost:1935/rtmp/test
Now switch back to your browser where you have the erlyvideo page loaded. replace the url at the top of the page with.
rtmp://localhost:1935/rtmp/test
Click on the Connect button.
Then towards the bottom of the page click the Play button.
Congratulations you are now streaming video to erlyvideo!!!
The other day FFMPEG released version 0.6 nick named “Works with HTML5″. Today I’m going to try to describe the steps on how to compile this new release in OSX with RTMP support. This wont be for the faint of heart.
First you will need to download and install Xcode and then MacPorts. Please go here for MacPort download and install instructions.
Once when MacPorts is done being installed you will need to install a few packages. They include yasm, pkgconfig and openssl. So lets begin getting those installed first. Type the following command into terminal and then press enter.
sudo port install yasm pkgconfig openssl
Once when this is complete you will need to download a few extra files. We are going to compile these manually so we make sure we have the latest and greatest.
FAAC v1.28
FAAD2 v2.7
Lame
LIBRTMP
x264 (download the latest build)
FFMPEG 0.6
First you will want to extract each archive. In OSX you can double-click on the archive to extract or else in terminal use the following command.
tar xzf FILE_NAME.tar.gz
Now it’s time to compile each library. Don’t worry its very easy. For the rest of the steps we will only be working in terminal. So open it up and navigate to where you downloaded your files. Mine are located in my Downloads folder.
cd ~/Downloads
Enter the following commands to navigate to your faac folder, configure, compile and install.
cd faac-1.28/
./configure
make
make install
Now to compile Faad
cd ../faad2-2.7/
./configure
make
make install
Lames turn
cd ../lame-3.98.4/
./configure
make
make install
RTMP is a little different.
cd ../rtmpdump-2.2e/
make SYS=MacOSX
make install
Your path to h264 will most likely be different from mine.
cd ../x264-snapshot-20100629-2245/
./configure
make
make install
Finally FFMPEG 0.6. This also requires a few more steps.
cd ../ffmpeg-0.6/
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libx264 --enable-libvpx --enable-librtmp
make
make install
Done! now you are ready to encode your file and send it to an RTMP server. I’ve been using the following command to test this.
ffmpeg -i INPUT_FILE -re -ac 2 -acodec libfaac -vcodec libx264 -vpre default -s 480x320 -f flv rtmp://localhost:1935/rtmp/test
Just replace INPUTE_FILE with the video you want to transcode and rtmp://localhost:1935/rtmp/test with the RTMP server you want to publish to. This could be a Flash Media Server, Wowza Server, Red5, Erlyvideo or any other server that supports this functionality.
I have to say Wowza is a cool media server. I’ve played around with the developer server a few times and have found the features to be rather nice. To find out that they have released a new version of their server with these great new features makes it a really enjoyable experience. More so when you aren’t limited to just streaming to the flash platform anymore. Wowza no supports streaming to IPTV, iPhone, Quicktime, Silverlight and Flash.
Download your free developer edition here
It always excites me when I’m able to find a new little gem on the internet. I think this could prove to be interesting as a way to develop for multiple mobile platforms. Not just for the iPhone or any other one offs. Today i was made aware of Elips Studio 3. You can register for the developer beta here. It’ll be interesting to see how well it works at compiling to multiple platforms and the differences between all those platforms.
From the site:
“ELIPS Studio 3 cuts through the complexity of the fragmented mobile market by providing a single development toolkit for the world’s most popular handsets. It includes a sophisticated simulator, and the code it generates is compact and rapid enough to run even on low-specification, mass-market handsets.”
How does it work?
- Develop in Adobe Flex/Flash Builder
ELIPS Studio 3 is available as a plug-in for Adobe Flex / Flash Builder, a popular IDE for the development of RIAs and RDAs using the ActionScript and MXML languages.- Use our mobile Flex Framework
The product comes with a mobile-optimized version of the Flex Framework and a wide range of Flex extension libraries, including mobile device features and UI components. These provide additional capabilities beyond those found in the ‘standard’ Flex, such as making voice calls, accessing the phone’s address book, sending SMS or MMS, taking snapshots or videos with the camera, and more. You can also import open source ActionScript Web 2.0 libraries.- Build and deploy for the mobile platforms you want
ELIPS Studio 3 automatically mobilizes and packages your Flex-based applications for industry-leading platforms, including iPhone, Android, Symbian, Windows Mobile, plus proprietary mass-market devices that run Real-Time operating systems (RTOS).
And because Open-Plug has a long track record of creating optimized code for cellular handsets… you’ll get amazing performance with your new Mobile 2.0 applications!
I have to say i was rather surprised when I woke up this morning to find out new betas of the Flash Player and AIR were released. I don’t believe I’ve been this excited for a new release of flash in a long time. But what I’m more excited about are all the new features in AIR. It seems like Adobe really listened to the community and put in the features we have been asking for. The feature I’m most exited about is the support for native code integration. Finally i wont have to rely on Merapi any more (even though it is a great project that helped me with what I needed at the time). So if you want to hurry an try out all the latest and greatest go ahead download the files below to get you started and take a look at the samples below to see what is possible.
< Air 2.0 Beta runtime / Air 2.0 Beta SDK >
< Flash Player 10.1 Beta / Player Global SWC >
< Developer Guides >
< AS3 Language Reference >
Samples:
Samples are from Adobe
So one of my secret obsessions is with video. I like to record video. I like to watch it. I like everything about it. But what I really like about it is the technology behind it. Call me crazy but I love to figure out how to encode a clip or video and see how good I can compress it using different codecs. Maybe that’s why I love working where I work. Since I ‘m a Flash / Flex programmer I have been wanting to investigate different streaming solutions for flash and see what is available and what will work with my little at home project.
This little project I’ve been playing around with is trying to get my HDHomeRun (HDHR) to rebroadcast its live feed to flash. I’ve been investigating technologies like Red5, C++ RTMP Server and Flash Media Server. With anything that requires multiple pieces of different technologies. The hard part is integrating these different pieces together. Luckily the HDHR is open source. So that provides a lot of avenues for development. The only hard part is trying to get the MPEG-TS from the HDHR and convert it on the fly to something flash can use.
So far I haven’t been able to get any of the solutions to work. but as soon as I do I’ll post something here.
