0

I am building a Unity application in which i need to use a h.264 encoded stream. The data will be read over the network and shown on the screen (feed).

I Have worked with ffmpeg, but well context close is causing a problem so i was thinking of making my own h264.dll decoder.

I cannot find anything to where to start, everyone has SoC solutions to hardware decoders there are encoders available, any code/base or reference available on where to start with ?

i'v used ffmpeg its good but well its becoming big to ship since all those dll's are a bit bulky, so i want to do like one dll which will be the decoder and then whatever dependencies are required can be shipped.

user2967920
  • 469
  • 1
  • 8
  • 22
  • This might not be what you asked about, but you could check out google's [VP8](http://www.webmproject.org/). There's a c# wrapper for it [Here](https://vp8.codeplex.com/) if you're interested. It has both an encoder and decorder freely available and it's roughly equivalent with H264 as far as size/quality etc – Steven Mills Feb 10 '14 at 14:04

1 Answers1

0

If your license permits GPL, then you can compile ffmpeg (libav*) yourself eliminating all the unnecessary dependencies. (./configure --help will show you what options are available). Or you can license a decoder from a company like corecodec. Creating your own decoder is a no go. The spec is about 1000 pages long, and assumes you are familiar with advanced maths.

szatmary
  • 29,969
  • 8
  • 44
  • 57
  • how about using openh264 to build the decoder as a dll? – user2967920 Feb 13 '14 at 09:25
  • Last time I checked openh264 was extreamly immature. Maybe that has changed recently. It's also worth noting my solution above does requires you pay MPEG LA. Openh264 does as well unless you use a precompiled binary. – szatmary Feb 13 '14 at 18:46