On Sun, 2010-10-17 at 01:02 +0530, Yuvi Panda wrote:
> I'd like to help implement
> https://bugzilla.gnome.org/show_bug.cgi?id=572449. I should disclose
> that I'm being paid to do this - mostly from FSF India (they want to
> use PiTiVi for localizing screencasts/videos and this feature would
> tremendously help them).
> What would be the best way to expose this in the UI? I'm thinkin of:
> 1. Place marker at start of video in timeline
> 2. Go to Project -> Capture from Microphone
> 3. Dialog pops up, with recording options (Pause, Record, Stop,
> Replay) and a small meter indicating current audio input levels
> 4. A checkbox couples the controls on the dialog box with the ones for
> playback of the existing composition (So 'record' will start playing
> back the composition, pause will pause it, rewind will rewind the
> composition back to the marker placed in step 1)
> 5. User finishes recording, at which point the recording is placed
> beginning at the marker placed in (1)
> Does this make sense? Anyone with a better idea of how to go about this?
Wim added an example recently to gst-plugins-base regarding the proper
way to do synchronized recording with playback:
The trick is to put both the timeline playback (in the example that
would be the audiotestsrc ! autoaudiosink part) and microphone recording
(autoaudiosrc ! fakesink) in the same pipeline. I'd recommend using the
Then when the pipeline is pre-rolled (in paused), seek to the required
timeline position (i.e. where you want to start recording over), wait
for preroll again, and then set to PLAYING when you're ready to record.
As for the format... I'd recommend recording to raw audio (i.e. just
use wavenc ! filesink) in that pipeline and then convert to a compressed
format later on (either just after the recording and before adding to
the timeline, *or* not at all and just have it re-compressed when
rendering the timeline).
I'd recommend trying to modify that -base example with some basic
elements ("uridecodebin ! autovideosink" and "autoaudiosrc ! queue !
wavenc ! filesink") and the seeking features before trying to integrate
everything into pitivi. There might be some unseen issues popping up.
> Thanks :)