Hey Corbin,
The answer is yes, and there are a couple of ways that this can be done. One way is to handle it via the client/player. Some Flash players, along with some html5 players can do that kind of stitching on the client side. The problem is that it will require some flash and/or javascript programming to pull off, and wont be completely portable to other players (ie. iOS).
The other option is to bring the two feeds into the EMS and use the EMS transcoder to merge the two feeds. You’ll need to use the launchProcess command for this, as it is outside the scope of our "stock" transcode command.
The command would look something like the following:
Here is the raw command:
evo-avconv -i rtmp://localhost/live/streamOuter -i rtmp://localhost/live/streamInner -filter_complex "[0]scale=iw/5:ih/5 [pip]; [1][pip] overlay=main_w-overlay_w-10:main_h-overlay_h-10" -vcodec copy -acodec copy -f flv -metadata streamName=FinalStream "rtmp://localhost/live"
And here is how you will use it when using the Launch Process command:
launchProcess fullBinaryPath=evo-avconv arguments=-i rtmp://localhost/live/streamOuter -i rtmp://localhost/live/streamInner -filter_complex "[0]scale=iw/5:ih/5 [pip]; [1][pip] overlay=main_w-overlay_w-10:main_h-overlay_h-10" -vcodec copy -acodec copy -f flv -metadata streamName=FinalStream "rtmp://localhost/live"
Notice the ” prior to each space. You won’t need that if you are using the HTTP interface.
There may be an easier way to do this using the transcode command with the overlay command. We’ll get back to you once we give that a try ourselves!
Bryan