Dear friends, could you please check my script for recording screencasts on Ubuntu 9.04?
It seems to works well. The quality is good. However, I am completely ignorant in shell scripting and in ffmpeg. There should be, therefore, something wrong inside. There could be mistakes in my shell scripting, and the ffmpeg options are not likely to be optimal. In any case, the script does the work well. I believe it might be useful for people. Using the script, an ordinary user can easily produce a good screencast with minimal efforts. The screencasts can be published without any editing or noise removal. No expensive hardware is required. In the Attachment: the script (two versions), howto Screenshots + howto are here: http://n2.nabble.com/How-to-record-sound-on-Ubuntu-8.04%2C-8.10%2C-9.04-td2988982.html#a2988982 One may need these screenshots to understand how to capture audio with ffmpeg on Ubuntu 9.04 The script works on Ubuntu 9.04 It runs two ffmpegs, one capture screen, another records audio. Then avi file (video+audio) is created. This version of the script includes filtering and normalization (SoX with Ladspa plugs). One can also run the script on Ubuntu 8.04, or 8.10, but this would require recompilation of ffmpeg. See: HOWTO: Install and use the latest FFmpeg and x264 http://ubuntuforums.org/showthread.php?t=786095 Could you please check my script and tell me how to improve it? Best regards, Igor
The origin of the script: I am not a guru of Linux shell scripting. I simply re-used somebody's script. The author of the original script wrote: "I'm no bash script expert, so check if everything is OK before running it". Source of the script: https://bugs.launchpad.net/ubuntu/+source/recordmydesktop/+bug/339648 * recordSoundAndDesktop.sh (1.3 KiB, text/x-sh) http://launchpadlibrarian.net/23829577/recordSoundAndDesktop.sh Just in case anyone arrives here with the same problem I'm reporting, I'm currently using a workaround: using arecord to record audio and recordmydesktop to record video only. I made a bash script (I'm no bash script expert, so check if everything is OK before running it) that, when called, runs both programs in the background and when you press ENTER it finalizes both processes, waits for recordmydesktop to finish encoding the video and uses mencoder to merge audio and video into an AVI. Usage: recordSoundAndVideo.sh myvideo (If the name of the video is not specified, it uses a default name) https://bugs.launchpad.net/ubuntu/+source/recordmydesktop/+bug/339648 http://launchpadlibrarian.net/23829577/recordSoundAndDesktop.sh The script "recordSoundAndDesktop.sh" seems to be designed to synchronize audio and video output. I tested the script. My conclusion: audio and video are not synchronized. I "re-used" this script, actually, changed it essentially. My script does synchronize audio and video, I believe. Instead of arecord (alsa-record), I utilized ffmpeg to record from OSS. The reason is simple. OSS does not produce such amount of noise as AlSA.
my-shooting-script-norm.sh
Description: Bourne shell script
my-usb-shooting-script-norm.sh
Description: Bourne shell script
How to record video tutorials (high quality screencasts) on Ubuntu 9.04 Bash scripts to record screencasts: 1. my-shooting-script-norm.sh (capture screen and record audio from /dev/dsp - OSS, the internal sound card) 2. my-usb-shooting-script-norm.sh (capture screen and record audio from /dev/dsp1 - OSS, the external USB sound card) To run the scripts you have to install ffmpeg, SoX, and Steve Harris's LADSPA plugins (swh-plugins). Step 1: Make your Ubuntu multimedia ready How to make Ubuntu 9.04 (Jaunty Jackalope) Multimedia Ready http://shibuvarkala.blogspot.com/2009/04/howto-make-ubuntu-904-jaunty-jackalope.html Step 2: Install SoX sudo apt-get install sox Step 3: Install Steve Harris's LADSPA plugins (swh-plugins) sudo apt-get install swh-plugins Step 4: Read my post about how to record sound on Ubuntu: http://n2.nabble.com/How-to-record-sound-on-Ubuntu-8.04%2C-8.10%2C-9.04-td2988982.html Step 5. Run my script to record screencast The script (two versions) is in the Attachment. Howto is inside the script. The script produces 4 files: 1. wave 2. wave (filtered and normalized) 3. avi (only video) 4. avi (video+sound) Noise removal is not necessary if you follow the method described in my post: http://n2.nabble.com/How-to-record-sound-on-Ubuntu-8.04%2C-8.10%2C-9.04-td2988982.html In any case, wave can be edited with Audacity. AVI can be edited with ffmpeg or mencoder See: http://en.linuxreviews.org/MPlayer http://howto.wikia.com/wiki/Howto_combine_multiple_video_or_audio_files http://www.misterhowto.com/index.php?category=Computers&subcategory=Video&article=join_with_mencoder http://www.aip.de/~arm2arm/howto/video_edit.html http://howto-pages.org/ffmpeg/ http://www.wikihow.com/Use-FFmpeg http://web.njit.edu/all_topics/Prog_Lang_Docs/html/mplayer/encoding.html If you hate command line tools, you can edit AVI with Avidemux (install it with Synaptic). Avidemux has a nice GUI, but the quality of video might be reduced during editing. Avi and wave can be easily merged into AVI (video+sound) with this command: ffmpeg -isync -i input.wav -i input.avi -acodec mp2 -ab 192k -vcodec copy output-final.avi In a word, VLC allows to play a video with "external audio file".
_______________________________________________ libav-user mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/libav-user
