Serious Dabbler

UCOSP – Freeseer Mid-Term Blog Post

with one comment

It has already been a full month, and only 3 weeks are left until our projects finish. Here is a brief summary of the progress on my project in the past month, which is a joint project with Mike Chong on implementing RTMP streaming and Youtube Live Events streaming.

  • A freeseer plugin has been developed that will stream to a given rtmp url. It currently does not work.
  • The rtmpsink plugin for gstreamer has been ported to Windows, and can connect and send data to a Flash Media Server (FMS) running locally.

Fixing the freeseer plugin probably won’t be an issue, and I’m sure Mike can handle it once he has figured out the current problem that’s bothering him – and me. The problem is even just trying to successfully broadcast a video+audio stream from gstreamer (using gst-launch) to an rtmp server, and then watching the live broadcast from a media player. It seems that Mike is having problems connecting to the server he has set up, because he isn’t hosting it locally, but instead of that I will talk about what problems I have been running into.


I can successfully connect to my local FMS from gstreamer, send data to, and receive data from it. However, the data that I send doesn’t match up with what I receive. In particular, the video appears distorted, and the audio is corrupted and neither VLC nor MPC can play it. For more technical information refer to the email titled “Weekly Update – RTMP Data Loss Problems” sent to the freeseer mailing list today.

I believe resolving this issue and getting the rtmp plugin for freeseer working to be of the utmost significance, but realistically speaking with only 3 weeks left there will not be time to work on Youtube integration.  The updated project proposal contains the information on the new schedule proposed.

Currently, I believe the possible sources of error could be:

  1. The rtmpsink element in gstreamer is broken and doesn’t send all the data to the server
    1a) or more likely, my port of the rtmpsink element to windows broke it
  2. The data is somehow dropped on the way to the server
  3. The server somehow loses the data somewhere
  4. The data is somehow dropped on the way from the server to the client
  5. rtmpdump is broken and is not saving all the data it receives

Of those, I believe 1a, 2, and 4 to be the most likely culprits. To debug these, I have two ideas in mind:

  • Use a protocol analyzer such as Wireshark to monitor the data sent to the server, and see if it matches the data in the file.
  • On the server side, save all of the data received into a file, and compare the two files

The first is a lot more complicated to set up than the second, and if the server does receive all of the correct data, then we can skip checking the first.  As such, in the next week or so, I will set up crtmpserver and implement the second idea.


Written by jonathanasdf

November 9, 2012 at 5:57 PM

Posted in Programming

Tagged with ,

One Response

Subscribe to comments with RSS.

  1. Hi Jonathan.

    Did you ever get it to work with rtmpsink and YouTube Live ?
    I can stream successfully to UStream using rtmpsink, but I haven’t been lucky so far with YouTube Live.

    Best regards
    Peter Maersk-Moller / Snowmix Video Mixer

    Peter Maersk-Moller

    May 5, 2013 at 11:31 AM

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s