Feature #222

Write PHP that initiates webcam stream via piboxd, sends heartbeat and kills stream.

Added by Hammel about 5 years ago. Updated about 5 years ago.

Status:ClosedStart date:24 Sep 2013
Priority:ImmediateDue date:
Assignee:Hammel% Done:

100%

Category:04 - Root File System
Target version:1.0 - Atreides
Severity:01 - Critical

Description

Now that piboxd is ready I can write the PHP-based web pages (RESTful interface) that handles starting the webcam stream, providing heartbeats for the stream and kills the stream.

The PHP for starting the stream should include the Javascript that is required to call the heartbeat PHP and the kill PHP pages.

Associated revisions

Revision 9da7825a
Added by Hammel about 5 years ago

RM #222: Implemented PHP code to send stream start message for webcam.
Stubbed out other functions that will be needed later, such as heartbeat and teardown.
Added template for stream playback sans javascript for heartbeat and teardown.

Revision f3faa20d
Added by Hammel about 5 years ago

RM #222: Completed support for sending heartbeat and kill the webcam stream.
There is no support yet for dealing with the browser back button as this is a complex issue. For now, there is a Home link on the
stream viewing page that should be used to kill the stream when leaving the page.

Revision 39e71db5
Added by Hammel about 5 years ago

RM #222: Make crtmpserver configuration default to daemon mode. Add lock file to init script processing.

Revision 6bc429f4
Added by Hammel about 5 years ago

RM #222: Add postinst script that fixes ownerhips/perms on installed files. Fix base dir for init script.

Revision a9f68f30
Added by Hammel about 5 years ago

RM #222: Fix lock file for init script.

Revision 329df1c6
Added by Hammel about 5 years ago

RM #222: Fix target dependencies for packaging and require root user to create package in order to properly set
ownership/privileges within the package itself (instead of after installation).

Revision 6e04c34d
Added by Hammel about 5 years ago

RM #222: Added custom plugins.load that will automatically enable php-cgi.

Revision dba29925
Added by Hammel about 5 years ago

RM #222: fixed target dependencies for packaging target and force root user requirement when using that target.

Revision c33a9372
Added by Hammel about 5 years ago

RM #222: Don't perform permissions/ownership updates if no files were installed to monkey root dir.

Revision 90314506
Added by Hammel about 5 years ago

RM #222: Add server interface IP to page template returned to client.

Revision 37b070b0
Added by Hammel about 5 years ago

RM #222: Fix protocol type (rtmp->rtsp) so JWPlayer will properly load.

History

#1 Updated by Hammel about 5 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 0 to 80

This is working now. It's built around a php script that sends a start message to piboxd, then loads a page template that includes javascript to callback to the php script as either a heartbeat or when leaving the page to kill the webcam. Dealing with the Back button is a problem at the moment but I can return to that later. For now, this will suffice for the prototype.

What's left now is to test the complete setup - piboxd, crtmpserver and piboxwww under monkey - on the hardware serving to my phone or tablet. Actually the first test should be to the desktop, then test to Android.

#2 Updated by Hammel about 5 years ago

  • Status changed from Closed to In Progress

#3 Updated by Hammel about 5 years ago

  • % Done changed from 80 to 90
Multiple updates to get the complete system running:
  1. crtmpserver: Make crtmpserver configuration default to daemon mode. Add lock file to init script processing.
  2. piboxd: Add postinst script that fixes ownerhips/perms on installed files. Fix base dir for init script.
  3. monkey: Fixed lock file for init script, fixed target dependencies for packaging and require root user to create package in order to properly set ownership/privileges within the package itself,(instead of after installation), added custom plugins.load that will automatically enable php-cgi, removed default files from root dir in monkey installation.
  4. piboxwww: fixed target dependencies for packaging target and force root user requirement when using that target, don't perform permissions/ownership updates if no files were installed to monkey root dir, add server interface IP to page template returned to client, fix protocol type (rtmp->rtsp) so JWPlayer will properly load.

This should now work in the test bed. I can't test it over an ssh tunnel or I'd verify it works right now.

#4 Updated by Hammel about 5 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 90 to 100

Verified on my laptop at home. The video streams correctly and stops correctly.

This issue can be closed.

Also available in: Atom PDF