

Show HN: iOS app streams MPG video to browsers via WebSockets, decodes in JS - phoboslab
http://instant-webcam.com/

======
joshstrange
Have you tested this on an ipad 2/iPad mini (As display)? I am not posting
this to say it doesn't work but It is very choppy/almost-unusable even on the
lowest quality. I can run quality and size at 2/3 from iPhone -> computer but
it's still a little jittery. That said I am using an iPhone 4S so that might
have something to do with it.

As a whole the idea is awesome, the app is beautiful, and setup is a breeze!
Great job!

~~~
phoboslab
The iPhone4S only reaches about ~25fps for the medium video size when
encoding. iOS only provides hardware acceleration for h264 encoding, but not
for mpeg1. iPhone5 should be full 30fps for all sizes, though.

Decoding in Mobile Safari or Chrome for Android only works well with the
lowest video size setting (on the devices I tested anyway).

------
koopajah
When scrolling the page, the first texts (in grey) become really hard to read
on the background (using Firefox on Mac OS X) and I had to select the text to
read it properly. It displays fine on the white parts of the background but I
have the habit to scroll to have the text I'm reading on top and here it
overlays with your chairs in background

~~~
phoboslab
Thanks; I made the background scroll up a bit faster.

Still depends largely on the width of your browser window, though. Maybe the
scrolling speed should adapt to it...

------
dan1234
That really is an amazing tech demo. Will you be making the source available?

~~~
phoboslab
I'm currently writing a blog post on how to do this with ffmpeg on a Raspberry
Pi - or any other device that has ffmpeg and a webcam.

The source for the MPEG1 decoder is available[1], but missing streaming
support at the moment. I will push the new version soon.

[1] [http://phoboslab.org/log/2013/05/mpeg1-video-decoder-in-
java...](http://phoboslab.org/log/2013/05/mpeg1-video-decoder-in-javascript)

------
axx
Dominic, you're such a boss! I love it, thanks! :)

------
napcae
forward port 80 to an old iPhone and you have an instant cam over the internet
:)

------
ianstallings
I like the idea but using MPEG1 in place of h.264 because of it doesn't rely
on built in decoders is kind of an odd choice. Is the author here to talk more
about that? Was it because of the ease of implementation with jsmpeg and how
much effort it would be to modify an existing player to accommodate the
websocket input? Or is it a licensing issue?

Also I'm curious how much effort it was to get MPEG streaming from iOS. I've
been working on getting HTTP-Live streaming using h.264 _from_ iOS to the
server lately as an experiment and this project is fascinating to me. I've
been relying on built in h.264 encoding and then using open source C libraries
for the streaming/segmenting aspects.

