Live Video Streaming with PHP

I am not saying that you have to abandon PHP, but you need different technologies here. Let’s start off simple (without Akamai :-)) and think about the implications here. Video, chat, etc. – it’s all client-side in the beginning. The user has a webcam, you want to grab the signal somehow and send it to … Read more

Live-stream video from one android phone to another over WiFi

If you do not need the recording and playback functionality in your app, using off-the-shelf streaming app and player is a reasonable choice. If you do need them to be in your app, however, you will have to look into MediaRecorder API (for the server/camera app) and MediaPlayer (for client/player app). Quick sample code for … Read more

MediaPlayer error (1, -1004) aka MEDIA_ERROR_IO trying to stream music on Samsung S3

The answer to this question turned out to be an issue on Android firmware installed on Samsung S III devices running Android 4.1.2. It seemed to have been something relating to the source of the stream, because some sources eventually played on the device, but the one we needed, never played. If you can get … Read more

Chrome hangs after certain amount of data transfered – waiting for available socket

Explanation: This problem occurs because Chrome allows up to 6 open connections by default. So if you’re streaming multiple media files simultaneously from 6 <video> or <audio> tags, the 7th connection (for example, an image) will just hang, until one of the sockets opens up. Usually, an open connection will close after 5 minutes of … Read more

Android device as a receiver for A2DP profile

Since Android L the BlueDriod stack does support A2DP sink, but it is disabled by default. To enable it do the following: /* Enable bluetooth av sink. */ #define BTA_AV_SINK_INCLUDED TRUE in /external/bluetooth/bluedroid/include/bt_target.h. This enables sink support in the bluetooth stack. Also you have to do this change: <!– Enable sink support. –> <bool name=”profile_supported_a2dp_sink”>true</bool> … Read more

Why does it take so long for Android’s MediaPlayer to prepare some live streams for playback?

It does appear that it is buffering a fixed amount of data rather than a fixed amount of time. For anyone who doesn’t know the bitrates of various types of NPR streams off the top of their head, the data looks like: MPR news stream: 27 seconds (http://newsstream1.publicradio.org:80/), 64 kbps MPR classical music stream: 15 … Read more