maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Multimedia (https://talk.maemo.org/forumdisplay.php?f=32)
-   -   [Solved] [Maemo 5] Keeping record of last two minute Audio/video recording? (https://talk.maemo.org/showthread.php?t=82561)

nicholes 2012-02-24 13:26

[Solved] [Maemo 5] Keeping record of last two minute Audio/video recording?
 
Hi,
I want to use N900 as a third empire video rec. of a cricket match. to do this somehow N900 should keep video record of last two or three minute only .rest should be delete so thus whatever happens in the match recently (just two minute before) i can see reply of it. i hope i have present what i want in good words.(actually my English is not good)

video rec. SOLVED:- here is how to do this

you need rootsh and leafpad installed

open leafpad and paste the code

Thanks to skykooler and int_ua for their hard work

Code:

#!/usr/bin/env python
import gst
import time
import os

bin = gst.element_factory_make("camerabin")
bin.set_property("videoenc", gst.element_factory_make("dspmp4venc"))
bin.set_property("videomux", gst.element_factory_make("hantromp4mux"))
bin.set_property("audioenc", gst.element_factory_make("nokiaaacenc"))

while True:
    bin.set_state(gst.STATE_PLAYING)
    bin.set_property("filename", "current.mp4")
    bin.set_property("mode",1)
    #starts recording
    bin.emit("user-start")

    time.sleep(60)

    # stops recording
    bin.emit("user-stop")
    bin.set_state(gst.STATE_PAUSED)
    bin.set_state(gst.STATE_NULL)
    try:
        os.remove("twominutesold.mp4")
    except OSError:
        print "No two-minutes-old file exists yet."
    try:
        os.rename("oneminuteold.mp4", "twominutesold.mp4")
    except OSError:
        print "No one-minute-old file exists yet."
    os.rename("current.mp4", "oneminuteold.mp4")

Now save it as record.py

now open your camera shutter and close camera app.

go to xterminal and type sudo gainroot and go to directory where you saved record.py and type

Code:

chmod 755 record.py; ./record.py
the video is saved in home/user

int_ua 2012-02-24 13:58

Re: Keeping record of last two minute video recording?
 
That's an interesting question. As a workaround (but not solution) I can propose to record 1 minute intervals with sh script and drop all except last N of them. But, again, it's just the first thing that comes to my mind. Will look through gst sinks.

int_ua 2012-02-24 14:56

Re: [Maemo 5] Keeping record of last two minute video recording?
 
Maybe leaky queue?..

nicholes 2012-02-24 15:35

Re: [Maemo 5] Keeping record of last two minute video recording?
 
Quote:

Originally Posted by int_ua (Post 1169213)
Maybe leaky queue?..

is there anything which a noob can understand?

skykooler 2012-02-24 15:45

Re: [Maemo 5] Keeping record of last two minute video recording?
 
Quote:

Originally Posted by nicholes (Post 1169224)
is there anything which a noob can understand?

The shell script idea seems pretty simple. Unfortunately I don't know enough of gstreamer to completely work it out. Here's my take (two scripts):

update.sh:
Code:

#!/bin/bash
rm twominutesold.avi
mv oneminuteold.avi twominutesold.avi
mv current.avi oneminuteold.avi
(crazy gstreamer stuff to record a minute of video to current.avi)

record.sh:
Code:

#!/bin/bash
watch -n 60 ./update.sh

Record.sh is what you run; every minute it runs update.sh, which deletes the oldest recording and starts a new one. Control-c stops and leaves you with between 2 and 3 minutes of the most recent video.

Anyone want to figure out the gstreamer command?

Spotfist 2012-02-24 15:48

Re: [Maemo 5] Keeping record of last two minute video recording?
 
Would be a good idea for an app, could be used in cars too! keep recordings of any potential accident you may have...

int_ua 2012-02-24 15:53

Re: [Maemo 5] Keeping record of last two minute video recording?
 
The gstreamer command was somewhere on the forums. nicholes, what about pycam that I've seen in your earlier thread? Can it be limited to 1 minute? However, there was pure sh code which is much much simpler.

nicholes 2012-02-24 15:54

Re: [Maemo 5] Keeping record of last two minute video recording?
 
Quote:

Originally Posted by skykooler (Post 1169227)
The shell script idea seems pretty simple. Unfortunately I don't know enough of gstreamer to completely work it out. Here's my take (two scripts):

update.sh:
Code:

#!/bin/bash
rm twominutesold.avi
mv oneminuteold.avi twominutesold.avi
mv current.avi oneminuteold.avi
(crazy gstreamer stuff to record a minute of video to current.avi)

record.sh:
Code:

#!/bin/bash
watch -n 60 ./update.sh

Record.sh is what you run; every minute it runs update.sh, which deletes the oldest recording and starts a new one. Control-c stops and leaves you with between 2 and 3 minutes of the most recent video.

Anyone want to figure out the gstreamer command?


can this help somehow?

skykooler 2012-02-24 16:07

Re: [Maemo 5] Keeping record of last two minute video recording?
 
Quote:

Originally Posted by nicholes (Post 1169238)
can this help somehow?

Thanks! Here's a python script which should handle it by itself. To run:
Code:

chmod 755 record.py; ./record.py
record.py:
Code:

import gst
import time
import os

bin = gst.element_factory_make("camerabin")
bin.set_property("videoenc", gst.element_factory_make("dspmp4venc"))
bin.set_property("videomux", gst.element_factory_make("hantromp4mux"))
bin.set_property("audioenc", gst.element_factory_make("nokiaaacenc"))

while True:
    bin.set_state(gst.STATE_PLAYING)
    bin.set_property("filename", "current.mp4")
    bin.set_property("mode",1)
    #starts recording
    bin.emit("user-start")

    time.sleep(60)

    # stops recording
    bin.emit("user-stop")
    bin.set_state(gst.STATE_PAUSED)
    bin.set_state(gst.STATE_NULL)
    try:
        os.remove("twominutesold.mp4")
    except OSError:
        print "No two-minutes-old file exists yet."
    try:
        os.rename("oneminuteold.mp4", "twominutesold.mp4")
    except OSError:
        print "No one-minute-old file exists yet."
    os.rename("current.mp4", "oneminuteold.mp4")


int_ua 2012-02-24 16:23

Re: [Maemo 5] Keeping record of last two minute video recording?
 
Great start :)
Just move STATE_PLAYING into while loop and fix prints, please :)


All times are GMT. The time now is 20:45.

vBulletin® Version 3.8.8