I'm looking at RTP/SIP stacks but don't know where to start. What are Live555, MPEG DASH, oRTP, and ffmpeg? Can they run on a PIC? I'm thinking 720p at 15 or 30 ips.

I have code working to upload videos onto an Amazon server, but I don't know how to do it real time, from a microprocessor.

I saw questions like this and this but didn't see an adequate solution.

  • \$\begingroup\$ This is really a software question; the PIC will be able to handle RTP and SIP framing (have a look at pjsip if you want code), but not video compression. So that has to be done in the camera submodule. \$\endgroup\$ – pjc50 Jun 19 '15 at 22:54

This question can only be answered once we know your resolution/framerate requirements. In general, I would consider the answer is a simple "No, it can't be done; the processing power is not enough".

You're probably better off with a system which has hardware interfaces for such tasks (e.g. CSI or MIPI) and can offload the required power to hardware.


What are Live555, MPEG DASH, oRTP, and ffmpeg?

  • Live555 is a company which provides a variety of media streaming applications, including the Live555 Media Server.

  • MPEG DASH is a protocol for transmitting MPEG video over HTTP. It's not a specific piece of software; I'll ignore it from here on.

  • oRTP is a library implementing the RTP streaming protocol.

  • ffmpeg is a general-purpose audio/video transcoding application.

Can they run on a PIC?

Almost certainly not. All of these libraries and tools are intended for use on systems running a full operating system, e.g, Linux. The system resources available on a PIC32 (e.g, 128 KB SRAM, 2 MB flash) are probably insufficient for the task, particularly considering that you would also need to implement a full network stack on the device!

  • \$\begingroup\$ Thank you!!! How do existing IP cameras, or Dropcam, do it then? \$\endgroup\$ – jwu Jun 19 '15 at 23:18
  • \$\begingroup\$ In the case of Dropcam, the device contains an Ambarella A5s SoC — a rather powerful processor designed specifically for IP cameras which includes a hardware video encoder — as well as 256 MB of DRAM and various other bits of support hardware. \$\endgroup\$ – duskwuff Jun 20 '15 at 0:29
  • \$\begingroup\$ How do you know all this?! You're so smart hahaha. I would upvote but I'm new and don't have enough reputation. Okay, so if you were building a quadcopter to livestream to the cloud/a phone, but the quad had limited processing power, how would you go about it? What microprocessor(s) would you use and how would you deal with the RTP/SIP? \$\endgroup\$ – jwu Jun 20 '15 at 15:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.