Application talk:Precorder

From WebOS Internals
Jump to navigation Jump to search

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)
  • Recording with flash on forces recording to end around 7 seconds in --Gryn 12:30, 25 November 2009 (UTC)
    • I have heard no other reports of this problem. If it continues, please see me (zsoc) in #webos-internals for debugging. --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)

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.

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)
    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)
    • 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)
  • Allow user to see what is being recorded just like the camera application where you can see the picture being taken. --thatdude 00:04 25 November 2009 (EST)
    • Consider this impossible for the moment. Look for version 1.0.0 of Precorder or wait till palm releases their app
      • Would it be possible show the video from the camera while not recording? For example to better frame a shot before pressing record?
  • 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 looking forward to this one (now I'll go and find it. Hopefully .ipk.) 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


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

example  and explanation from

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

#Get a v4l2 video source, split it and put one end though a
#theora codec and send the other to videoout (defined later)
v4l2src ! tee name=videoout ! queue ! videorate ! video/x-raw-yuv,fps=15 \
       ! queue  ! theoraenc quality=60 ! queue ! muxout.   

#Get audio from a pulseaudio stream, run it through the vorbis encoder
pulsesrc ! audio/x-raw-int,rate=22000,channels=1,width=16 \
        ! queue ! audioconvert ! vorbisenc ! queue !muxout.  

#Mux the audio and video together, and put it in "media.ogg"
oggmux name=muxout ! filesink location=media.ogg  

#Put the other end of the video split out on the screen
videoout. ! queue ! ffmpegcolorspace ! ximagesink