Application talk:Precorder

Page Layout
Please place all comments under the appropriate category. If you would like a feature that has already been requested then just add your signature by placing two asterisks and four tilde's **~ on the line underneath. It will show up like this.


 * Here is a feature request that I will add my signature to.
 * Cryptk 19:06, 24 November 2009 (UTC)

Please remember to sign all new entries with four tildes ~

I know this is alpha but I want ppl to put their opinions/observations.

Bug Reports

 * The sound quality is very low --en0x 14:31, 24 November 2009 (UTC)
 * Microphone is on the opposite side of the camera. Narration from user isn't too bad. Sound is better with playback on computer. Looking into ways to stage a temperary alsa config to boost mic, or level it through a 3rd utility which would require another service --Prenos 14:45, 25 November 2009 (UTC)
 * Both the video only and audio only options produce only audio.--Gkatsev 16:05, 24 November 2009 (UTC)
 * Problem noted, on the map --Prenos 14:45, 25 November 2009 (UTC)
 * Sound is only heard in the left channel --Gryn 22:39, 24 November 2009 (UTC)
 * This fix would probably also require a 3rd service/utility --Prenos 14:45, 25 November 2009 (UTC)
 * App saves files "when it wants to" --Gryn 12:30, 25 November 2009 (UTC)
 * This problem is directly related to the lack of feedback between the pipeline, the service, and the app. This will eventually be resolved once the output and errors get properly filtered down, and it may not happen til/unless the service is converted to C. --Prenos 14:45, 25 November 2009 (UTC)
 * App only seems to save files when the Video application is open. --Ccolman 17:22, 25 November 2009 (UTC)
 * When I select audio format to mp3- video will not record. 13brian 03:54, 3 December 2009 (UTC)
 * The current .mp4 container the application outputs doesn't allowing the stock Pre video player to scrub through the video --Abyssul December 5, 2009
 * Can't record videos past 10mb. Unable to play file on pc or pre. --Gryn 23:24, 10 December 2009 (UTC)
 * Audio and Video are not in sync. Try recording someone singing and watch their mouth. Awesome work though!
 * No recording happening? I had no problem installing Terminal and bootstrapping Precorder. I get no problem launching or running the app. But when I tap Launch Last Video, Precorder drops to a card, and then I get a landscape error: Error There was an error playing the file [Back]

When I check Videos, there's nothing new in there, so my best guess is that Precorder's not actually recording anything. I'm on 1.3.5, running multiple patches and a theme. Other users are seconding this problem on the "Precorder" thread on Precentral. Wilder jw 04:08, 2 January 2010 (UTC) This seems to be resolved now (i.e., I'm up and recording). No idea why, although I did delete the 0-byte files that all the attempts yesterday created in the videos folder, and I've rebooted my Pre another time or two.--Wilder jw 20:17, 2 January 2010 (UTC)

I'm getting an error when trying to install the app:

root@palm-webos-device: mount -o remount,rw /rm -f precorder-bootstrapwget http://bit.ly/precorder-bootstrap Connecting to bit.ly (128.121.254.201:80) precorder-bootstrap   0% |                               |     0  --:--:-- ETA precorder-bootstrap 100% |*******************************|  9545  00:00:00 ETA root@palm-webos-device: sh precorder-bootstrap Starting installation... Mounting the root file system read-write: OK Installing org.webosinternal.gstservice v0.3.5: FAILED Failed to install /tmp/org.webosinternals.gstservice_0.3.5_armv7.ipk root@palm-webos-device:

I'm on 1.3.5.1 - Any suggestions?

Viewfinder discussion
The development of a viewfinder for the app is "hard" -- heck the APP was hard until zsoc showed up. If you know what the term "gstreamer sink" means, then you will understand zsoc's explanation that he can not fork a gstreamer sink.

If you do NOT know what that means, then we are forced to talk around the actual problem and to attempt to explain it via analogy. The way that Mojo is built, unlike X-windows or Windows, or other existing GUI's, there is exactly and precisely one "pipe" to move video around. If webOS used "X" as a framework instead of Mojo, the viewfinder app would be trivial. But _inside Luna_ Inside the linux app that runs webos, there isn't a way to "fork" a video stream.

So, when zsoc hooks up the camera to a recording app, he has used up the one and only pipe. There isn't a pipe available to hook the camera up to a display. Some people then had the clever idea, well, the app is //recording// the video, let's play it back, there would be a lag, but that would be better than no viewfinder at all. Nope. one pipe, remember? So if we used the pipe to hook the camera up to the recorder, then there's no pipe to hook the recording up to the display either.

If you are enough of a programmer to look at zsoc's service and understand what he's done, if you have messed with gstreamer internals, we will be happy to have your input, here, or in the #webos-internals chat on IRC. If not, then if you want to discuss this in detail, please go read code first, zsoc has had a lot of naive suggestions, and his response is pretty much consistent, that the suggester doesn't understand the problem. Please do not post suggestions in the thread unless you have researched "gstreamer sink."

If you're enough of a programmer to fix it, the source repository is listed in the article and we will be eternally grateful.

Thanks for your patience.

Note as of 08 Dec 2009, progress has been made. They have hacked the plugin used to display the viewfinder for the camera, and have hacked a fork for the gstreamer. But saddly, in the absence of the gpu graphics accelerator, there just isn't enough cpu cycles to encode audio AND encode video AND display the viewfinder all at once.

They are now trying to hack the GPU to get hardware acceleration of that process. Again, contact zsoc if you have expertise in that area. rboatright 16:47, 8 December 2009 (UTC)

Feature Requests

 * I would like to have Record New moved to the bottom... It's hard to tap it when you have slider open --en0x 14:21, 24 November 2009 (UTC)
 * done --Prenos 17:17, 24 November 2009 (UTC)
 * Add option to launch video app from precorder --en0x 17:04, 24 November 2009 (UTC)
 * --Gryn 22:37, 24 November 2009 (UTC)
 * This is already implemented, will be released in next version --Prenos 14:45, 25 November 2009 (UTC)
 * Way to show how many minutes I recorded? in precorder --en0x 17:15, 24 November 2009 (UTC)
 * FreeTim 16:01, 2 January 2010 (UTC)
 * I have a count up timer planned --Prenos 17:18, 24 November 2009 (UTC)
 * Flash toggle on main scene? --en0x 17:21, 24 November 2009 (UTC)
 * I looked into this. The whole graphical UI is changing in the next version. This might be a future option still tho --Prenos 14:45, 25 November 2009 (UTC)
 * Have it show the estimated video recording time remaining based on free space in the /media/internal --Cryptk 18:45, 24 November 2009 (UTC)
 * --ProfJonathan 19:50, 24 November 2009 (UTC)
 * This isn't practical for a number of reasons, but I'll see if someone else wants to implement it --Prenos 14:45, 25 November 2009 (UTC)
 * Use space on keyboard to start/stop recording --en0x 19:34, 24 November 2009 (UTC)
 * --ProfJonathan 19:50, 24 November 2009 (UTC)
 * This is feasable, will consider implemented an API for this option --Prenos 14:45, 25 November 2009 (UTC)
 * MP3 audio-only recording, for creating podcasts --ProfJonathan 19:52, 24 November 2009 (UTC)
 * FreeTim 16:01, 2 January 2010 (UTC)
 * This will require a minor overhaul of the general video start request, or a new request method. It will be an available option if technically feasable once beta hits --Prenos 14:45, 25 November 2009 (UTC)
 * Would it be possible show the video from the camera while not recording? For example to better frame a shot before pressing record?
 * Gryn 23:23, 10 December 2009 (UTC)
 * If possible have the interface (main scene) look like the camera application where the bottom left icon would open the video application as a new card, the middle button would start/stop recording, and the right button would turn on the flash on/off on the fly. --thatdude 00:08 25 November 2009 (EST)
 * You mean more buttons? Some UI changes stated above --Gryn 21:51, 25 November 2009 (UTC)
 * Allow the launch page to orientate the direction the camera needs to be to record. --Mamouton 11:59 pm 28 November 2009
 * Formatting the page to the camera orientation --Gryn 15:07, 28 November 2009 (UTC)
 * Where do we add 'thanks' ? Here? Well, THANKS!! Really enjoying this PreCorder FreeTim 11:04, 4 December 2009 (UTC)

im not a programmer just have an ideah don't hurt me
To save ur time (that you can be useing to save my digital life) answer this question. Is it possible to program the pre to capture things that are occuring on the screen (like the examples on themes ect.) if so then this idea may be of use to you.

This is where i don't want you to hurt me. As when the normal still capture camera is running you see a live (digital) renderring of the world. (2nd and least possible idea) If that digital information could be copied, captured, or intercepted and saved then video could be possible. (1st most propable idea) Use a patch to capture (most likely low resoloution for speed) images in, rappid succession, of the screan while the normal pre camera is displaying on the screan.

I realize that these ideas may be just that and is completely different from the pre-corder, but i do hope that this idea is truely considered and inspires an even better idea.

Fingers Crossed O_o Me

GStreamer has a Tee tool. That takes in one stream and splits it in two (if that helps)

example and explanation from http://www.vidarholen.net/contents/blog/?p=5 gst-launch-0.10 v4l2src ! tee name=videoout ! queue ! videorate ! video/x-raw-yuv,fps=15 ! queue ! theoraenc quality=60 ! queue ! muxout. pulsesrc ! audio/x-raw-int,rate=22000,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! filesink location=lulz.ogg videoout. ! queue ! ffmpegcolorspace ! ximagesink v4l2src ! tee name=videoout ! queue ! videorate ! video/x-raw-yuv,fps=15 \ ! queue ! theoraenc quality=60 ! queue ! muxout. pulsesrc ! audio/x-raw-int,rate=22000,channels=1,width=16 \ ! queue ! audioconvert ! vorbisenc ! queue !muxout. oggmux name=muxout ! filesink location=media.ogg videoout. ! queue ! ffmpegcolorspace ! ximagesink
 * 1) Get a v4l2 video source, split it and put one end though a
 * 2) theora codec and send the other to videoout (defined later)
 * 1) Get audio from a pulseaudio stream, run it through the vorbis encoder
 * 1) Mux the audio and video together, and put it in "media.ogg"
 * 1) Put the other end of the video split out on the screen