need good way to create screencast

Jason Paul Joines jason at joines.org
Mon Nov 21 21:20:21 UTC 2011


-------- Original Message --------
Subject: Re: need good way to create screencast
From: Alan Pope <alan at canonical.com>
To: ubuntu-users at lists.ubuntu.com
Date: 2011.11.21.Mon.4:21:22
> On 20/11/11 23:01, Jason Paul Joines wrote:
>> I've tried using istanbul, gtk-recordmydesktop, recorditnow, and
>> recordmydesktop. In each case the video and audio get out of sync. I've
>> tried every combination of settings I could find via Google in any forum
>> post, YouTube video, bug report, etc., but nothing works.
>>
>
> I've tried pretty much every tool there is to record the Linux 
> desktop. They all suck in one way or another, all of them. So I looked 
> around and cobbled together bits and bobs to make reliable, high 
> quality screencasts.
>
> I compiled ffmpeg with support for nasty non-free codecs and wrote a 
> little script which uses ffmpeg, sox and parec to record the screen, 
> the sound from a microphone and the sound from the computer. It 
> smooshes them together in a .mkv file into something you can a) edit, 
> b) publish, _easily_.
>
> It creates beautiful lossless videos even at quite high resolutions 
> (1920x1080 [1080p] for example) and doesn't place a massive load on 
> the system whilst doing it. It's way more reliable than 
> RecordMyDesktop and because I used a fixed set of debs, I know it 
> works without having to depend too much on the moving target of the 
> Ubuntu repos.
>
> It works best on Intel based video cards or on nVidia cards running 
> nouveau (not the binary nVidia one). There's significant graphical 
> corruption on nVidia binary because (I believe that) the capture stuff 
> can't get in between X and the video card, so don't capture all screen 
> deltas (or something). So you end up with chunks of the screen not 
> updating, especially in high-speed movement like switching desktops or 
> windows appearing/disappearing. I haven't tested ATI/AMD cards at all.
>
> Here's a couple of examples which I recorded and uploaded to youtube 
> with no editing or post processing.
>
> http://www.youtube.com/watch?v=e6MQrCmc6HY
> http://www.youtube.com/watch?v=BUlyqeYMPxs
>
> They're both 1080p, recorded on my Core i7 desktop, however lower spec 
> machines should be able to record fine too. 720p is a nice resolution 
> to record at, because it's still "HD" but not so big as to need a 
> giant screen or video acceleration just to play it. However if you're 
> gonna stick them on youtube who cares? They do the re-encoding for 
> you, you just chuck up the highest resolution you can.
>
> The process would be more complex than just "record and upload" for 
> you if you want to cut it up and add in transitions and slides between 
> one step and the next.
>
> SETUP
> ~~~~~
>
> I tend to setup a clean install (or at the very least a clean new user 
> ID) in which I record the videos (not those two above because they 
> were just showing off a bug). I believe people like tutorials to show 
> off what they are most likely to see, the default desktop.
>
> I then install the ffmpeg debs which I put here:-
>
> * TODO: make a PPA of these
>
> http://popey.com/~alan/screencasting/debs/
>
> Then grab the ffmpeg screencasting script:-
>
> * TODO: put this in bzr or something? (will people contribute?)
>
> http://popey.com/~alan/screencasting/scripts/ffscreencast.sh
>
> Put that somewhere and make it executable (like /usr/local/bin/)
>
> Open pulse audio mixer and ensure whatever microphone is working 
> (assuming you want to record audio).
>
> RECORDING
> ~~~~~~~~~
>
> I like not having to edit, which means I don't like having to cut the 
> start and end of a video where you see the person start and stop the 
> recording app/script.
>
> So I ssh into the machine doing the recording and run 
> "ffscreencast.sh" via ssh. As soon as the script starts it's recording 
> (give or take half a second). It tries to figure out your screen 
> resolution from xrandr and sets that as the recording size (i.e. it 
> will record full screen only).
>
> Once it's running, do your stuff and then press "q" in the ssh session 
> to stop it.
>
> By default the videos get put in ~/Videos/YYYY/MM/DD/ and will be 
> called HHMMSS-final.mkv. There will also be a 
> ~/Videos/YYYY/MM/DD/archive which contains the master video and audio 
> before they get smooshed together by the script.
>
> You should be able to play the mkv video in totem, or upload to 
> youtube, or edit in pitivi, openshot or whatever.
>
> The result is an h.264 video and aac audio file in a mkv file.
>
> Make sense?
>
> Questions/comments/feedback very welcome!
>
> Cheers,
> Al.
>


     After installing the sox package, your stuff worked like a champ.  
Looks like that's what I'm going to be using.


Jason
===========





More information about the ubuntu-users mailing list