

Show HN: BigScreen sends pictures and music from OS X to ChromeCast - fomojola
http://www.roguesavant.com/bigscreen/

======
fomojola
Was looking for an easy way to send pictures on my computer to my ChromeCast,
and thought having a "native" app would be a nice way to do it without having
to cast a Chrome tab. Since Google explicitly doesn't make SDKs available for
anything other than iOS/Android/Chrome I ended up wrapping a couple of things
together in a long little afternoon. Let me know what you think!

~~~
vikramhaer
Looks great. I'd use this for videos on my laptop that I want to cast, so
definitely looking forward to video support!

~~~
fomojola
That is coming: ran out of time and didn't want to drag my feet on actually
releasing it. Video is also complicated: transcoding becomes a real
requirement and its just messy to do that in a performant way. But I have
something like 40 apps and libraries I've written that are all 80% there but
never get released, so for this one I set an explicit rule that it would be
released in whatever stable state it is in by the end of July.

~~~
dkordik
in that case... congrats on shipping!

------
j_s
Here is a C# library and sample app to send photos to an Apple TV using
AirPlay:

[https://github.com/spouliot/airplay](https://github.com/spouliot/airplay)

------
mumrah
Looks nice! I've been using [https://github.com/googlecast/CastHelloVideo-
chrome](https://github.com/googlecast/CastHelloVideo-chrome) plus some custom
Java code to stream video content for a few months now. I'd love to have
something like this as a UI instead of my cobbled mess. Drop me a PM or email
@gmail if you want to compare notes. Cheers!

~~~
fomojola
Thanks. Will reach out once I get a chance: the video transcoding/streaming
will be the real heavy lifting. This was mostly just a node-webkit exercise,
but not sure how cleanly it will merge with the Chrome code you linked to.

~~~
thefreeman
The transcoding isn't actually too bad. You basically just need ffmpeg
compiled from source on your box, and you can use [https://github.com/fluent-
ffmpeg/node-fluent-ffmpeg](https://github.com/fluent-ffmpeg/node-fluent-
ffmpeg) . You just need to transcode everything go h264 / AAC (so make sure
you compile with libfdk_aac ).

The thing I have been unable to figure out so far is how to start streaming to
chromecast before the transcoding is complete. It will play to the point it
was transcoded when I started playing, regardless of how far it has gotten
since then. I have tried transcoding to HLS which chromecast supports, but
have not been able to figure it out.

Are you planning on develping this open source? I didn't see a github for the
actual project on first glance.

~~~
maherbeg
You can actually stream the file directly to the chromecast as it's
transcoding.

I've got this working in my own chromecast app mkvcast:
[https://github.com/maherbeg/mkvcast](https://github.com/maherbeg/mkvcast)

See
[https://github.com/maherbeg/mkvcast/blob/master/lib/controll...](https://github.com/maherbeg/mkvcast/blob/master/lib/controllers/stream-
file.js) for the parameters to use.

~~~
mumrah
I got something similar working in Java by simply exec'ing ffmpeg and getting
a handle on the stream. Not being able to seek kind of sucks, and Chromecast
does not like infinite streams. However, I've seen that he Chromecast will
actually stream some MKVs just fine (so long as the underlying codecs are
supported).

------
thefreeman
Nice, I have been looking for something like
[https://github.com/thibauts/node-
castv2-client](https://github.com/thibauts/node-castv2-client) for a while.

All of the other NodeJS clients I found were written for version 1 and stopped
working, so I ended up forking Popcorn Time and hacking it to work in a
regular browser so I could use the official Chromecast Extension.

~~~
fomojola
Yeah, spent a couple of hours trawling the web before I stumbled upon that:
gold, that one. I'd originally started using ChromeCast's DIAL support but
that's apparently deprecated, which is a shame because the replacement is
quite a bit more complicated.

------
CSDude
Try this for on the fly transcoding even unsupported media:
[https://github.com/mustafaakin/cast-
localvideo](https://github.com/mustafaakin/cast-localvideo) Disclaimer: I made
this, but people seems happy using it.

~~~
aroch
Or use Plex or XBMC and control it from your smartphone

~~~
fomojola
Those solutions do exist, but to a certain degree the point of this was not to
need a phone or Chrome. It is obvious that those are the sanctioned solutions
from Google's perspective, but this is an attempt to provide a different
option.

------
slouch
If I use this to play music, will my computer still go to sleep and stop
playback like when I use a brower-based music app?

~~~
nickpapa
For stuff like that, I use Caffeine
([https://itunes.apple.com/us/app/caffeine/id411246225?mt=12](https://itunes.apple.com/us/app/caffeine/id411246225?mt=12))
to prevent my Mac from sleeping.

------
tmuir
Why are there recent Macs without HDMI ports? You'd think that would be
ubiquitous by now.

~~~
mrbill
Mini-Displayport to HDMI / DVI / VGA adapters are less than $10.

~~~
neeks
Did they ever do anything about the audio jack? I always thought it was wack
how they not only forced you to buy a dongle, but also a 3.55m to rca cable.

~~~
anmilo
Some mini-dp to HDMI adapters also pass audio through (including I believe the
Apple branded one as well as one I bought after confirming reviews on Amazon),
but I've also bought a couple that do not

------
siculars
Any way to send vlc to chromecast?

Edit: This is great, btw. Thanks, fomojola!

------
neeks
If it was for Linux I'd gladly give it a spin.

~~~
fomojola
It will be available for Linux (at least Ubuntu): I just need to brush off my
old scripts for generating .deb packages and I'll have something. Just didn't
want to dawdle and let it fall into my pile of neglected projects.

~~~
ehPReth
Would something like
[https://github.com/jordansissel/fpm](https://github.com/jordansissel/fpm)
help?

~~~
fomojola
Indeed it could: thanks!

