I suggest trying VideoBitrate value 512 kbps, which is the default if the entry box is left blank. That provides fairly good quality for most encoders.
For highest quality screencasts along with small resultant filesize, I suggest selecting x264 encoder. Even VideoBitrates as low as 128 (in kbps), using scast framerate of 10 fps, seemed to give reasonable results and small filesize.

Note well that for a given video bit rate you will get higher quality encoding if you reduce the frame rate. In other words, for a given video bit rate you can trade frame rate for quality whilst keeping the same recorded video filesize.

If you want variable bit rate video mode instead of the default constant bit rate video mode, enter a value less than 32 into the VariableBitrate box. pAVrecord then automatically uses vbr and the VariableBitrate value is used as the quality setting (using ffmpeg -qscale internally). A medium quality value of 5 works quite well with most codecs. 10 provides highest quality for Theora encoder (different encoders respond differently to qscale values between 1 and 31; with some encoders, quality goes down for larger qscale value, for some it goes up - you need to experiment...).

In default cbr video mode, for higher quality (but double file size), you could enter a VideoBitrate of 1024 kbps instead of 512 kbps, or use whatever value you wish (lowest provided cbr mode is 32 kbps, which gives very low quality of course).
-----

Previous notes, which still apply:

The recent pAVrecord works with either avconv or ffmpeg (though current avconv itself seems to have a bug with jpeg production at low frame rates, so ffmpeg is preferred). pAVrecord has been developed/tested_as_working on Slacko-6 beta, Puppy Precise 5.7.1, DebianDog, and Puppy Akita. Note that for Akita you need to create an empty file called noxvid in /etc/pavrecord; that causes it to use the alternative mpeg4 encoder - the same trick may be needed in some other Puppy distributions. Whether pAVrecord will work in earlier Puppies, or Quirky, Wary, or Racy, depends on the ffmpeg/avconv functionality they have. Read the program provided Help for more details and installation tips.

Note that this new pavrecord depends on either mplayer or cvlc, and ffmpeg or avconv. Complete functionality depends on the codecs provided by the installed ffmpeg or avconv. Neither ffplay nor avplay is absolutely required any more, but without one of these you will not be able to watch a preview of the video as it is being recorded. For ffplay/avplay your system needs xv graphics mode; x11 mode only apparently won't do for them.

This version has many changes and bug-fixes under the hood. In this new pAVrecord (and in latest Precord) it is now possible to alter much of its internal processing functionality via external code modules (I refer to it as 'hijack' facility). EDIT: The following post gives more details, via simple exemplars, on using hijack modules:

If pavrecord ever fails to start, its config file is probably corrupted so simply delete your old $HOME/.pavrecord config directory and pavrecord will automatically rebuild it the next time it is re-started. Its config file is not known to become corrupted in normal use though.

"Some" Puppy versions may need to add ogv as a mime type.

By default, when using Theora for video capture, pavrecord uses -qscale 31 parameter for higher quality. You can overwrite this by entering, for example, -qscale 1, for lowest quality, in the Extra O/P Options entry box.

Further Notes.

1. For technical reasons, such as audio sync adjustment, pAVrecord records the video and audio track in separate files and then multiplexes them into a single video file at the end. This mechanism also makes it easy to dub the original video track with new audio. Use the Audio sync offset entry in the config GUI to correct for out of sync audio (whether it is out of sync with the video or not depends on the speed of your machine and the AV encoders selected).

2. Pausing recording works but isn't too useful because ffmpeg caches lots of video anyway. Another effect of this is that video and audio will become very much out of sync after pausing a recording.

3. When monitoring video recording, depending on your machine amongst other factors, you may experience a delay before the video window appears (it takes ages on my computer with x264 - but it does come eventually...). Also, with Theora, particularly since it is high quality by default, the video and audio may be a bit out of sync and you will need to adjust the value in the Audio sync entry box before recombining the audio and video track. The 0.5 seconds, as provided by default, works perfectly on my slowish computer with mp3 audio plus MPEG-4 video (Xvid) in an avi container.

[color=brown]Setting up pAVrecord Example:

Select Advanced (big) User Interface.

Select Target Directory: /root

Select Record Duration: 0 (for unlimited).
Also set Play Duration to 0.

Frame Rate(fps) video: 15 (10 is probably high enough for a screencast),

vInputFormat: video4linux2 (not used during a screencast),

vDEVICE: /dev/video0 (if that is your video device; not used during a screencast),

vWidth 320, vHEIGHT 240 (not used during a screencast).

Leave ffmpeg/avconv Extra O/P options blank.
Note well: Any entered Extra I/P or O/P options are also used when screencasting.

Select container for combined A and V track: avi (or ogv if ogg_q and Theora)

For Combine AV auto, select as true.

For Combine AV del, select as false.
Note that the alternative true for checkbox del causes the separate A and V tracks to be automatically deleted after the final combined AV is produced.

Press Record button to record the A and V tracks (which, with above setting, are auto-combined into final avi container once Record Stop button is pressed).

With the above selections, three files are saved: the date-stamped video track, the date-stamped audio track and the combined AV video (whose name begins with the characters pAV). Note that it is possible to substitute an alternative audio or video track and to then create the final pAV combined AV video file using these by clicking the Combine AV button in the config gui.
-----
To view/hear result:

Method 1: Press Play controls play button. This method plays the individual video and audio tracks in parallel (allowing you to adjust the Audio sync offset).

Method 2: If audio sync offset set up is already fine, you can simply press the Play combined AV file button to play final combined AV video in your system video player (assuming Combine AV auto was selected).
-----

As well as having a GUI interface, pAVrecord can also be used from the commandline. It reads commandline args of the form:

Posted: Sun 07 Oct 2012, 20:28 Post_subject:
VERY simple examples of how to 'hijack' extend pavrecordSub_title: To further Puppy and Puppylookalikes as an experimenters' playground

NOTE: Hijack module names have been changed to use .hijack as an identifying extension for them. Previously existing hijacking modules should still work if renamed accordingly.

The following also now applies to the latest Precord (and mostly for DoMyFile, DoMyCommand/Premote also). For that, in the explanations below, just read word 'pavrecord' as 'precord' and so on - the attached example code should work in precord too if stored in ~/.precord folder.

Puppy as a experimenters' playground is, I feel, part of its usefulness and build philosophy. With that in mind, I have adapted pAVrecord (and planned others) such that experimenters can easily change major parts of its functionality via addon modules without needing to alter any of pavrecord's own code. The facility will also hopefully encourage new coders to experiment and practice coding with these already developed applications without risking any damage to the underlying main app itself. I'll start a new thread for 'hijack' module development later, and include more details in there.

To try these simple (and not designed as immediately useful) 'hijack' examples, just remove the dummy tar from each attached hijack module and copy them into $HOME/.pavrecord (e.g. /root/.pavrecord) and restart pavrecord and view the result in its config GUI (at GUI bottom). To remove the hijack module, just delete it from $HOME/.pavrecord.

Note that those 'hijack modules' that add to the GUI can be added and removed whilst pAVrecord is running. To see effect you can simply toggle between simple (small) GUI and the config GUI. It is all simple - best just to try it and see.

IMPORTANT NOTES:

1. I am planning to use this facility to write some new GUI apps that will use pAVrecord (and precord) as backends. In that light, you should be careful to store any 'hijack' modules of your own creation since the facility is designed to overwrite them when a new frontend app starts.

2. If you write your own hijack module, of course you have to code it carefully. If you make a mistake and pAVrecord refuses to start after deleting your hijack module, it just means that pAVrecord config file became corrupted. You would just need to delete $HOME/.pavrecord and it will automatically fix its own config file next time it is restarted.

3. pAVrecord is currently coded to use the following optional 'hijack' modules, which is probably enough for any of my planned future usage:

All of these, are standard shell script code lines, except for hijack_smallgui_addpanel, hijack_addbuttons, and
hijack_config_addpanel, which are gtkdialog extracts. The easiest way for a programmer to find where these different hijacks take effect is just to use Geany or similar to search for the term 'hijack' in the /usr/bin/pavrecord code (being very careful not to accidentally modify the pavrecord code itself of course).
-----

General SCREENSHOTS of pavrecord (older version) in action:

First screenshot is of pAVrecord in small GUI mode being used in Slacko 5.4 beta.

Next screenshot is pAVrecord being used in Advanced/Config GUI mode on Slacko-5.3.3. Once you have the config set up to your liking you can always return to small GUI mode before beginning to record so that pavrecord occupies very little screen real estate in use.

Version 0.8.4: ffmpeg Extra i/p options entry box now working.
AAC audio encoding added.
Running from commandline now working.
Fixed scheduling recordings via Pscheduler (Time button activates)
(Be careful if using Pscheduler. By default Pscheduler itself starts entered commands every minute... That is nothing to do with pAVrecord - so you have to remember to set appropriate timings once in the Pschedule application)

Note that I also removed ffmpeg entry box in(fps) since it isn't necessary (and would often not be wanted) and there is always the Extra I/P Options box for any extras that a user does want to add themself._________________Non enim propter gloriam, diuicias aut honores pugnamus set propter libertatem solummodo quam Nemo bonus nisi simul cum vita amittit.Edited_time_total

I got this with Version 0.8.4: The selected Attachment does not exist anymore
By the way. Nice work. I havent managed to get my inbuild microphone to work yet. Otherwise really nice work. X11grab also worked with 0.8.3 version.

I got this with Version 0.8.4: The selected Attachment does not exist anymore
By the way. Nice work. I havent managed to get my inbuild microphone to work yet. Otherwise really nice work. X11grab also worked with 0.8.3 version.

Sorry. I was re-uploading at the time you tried to fetch version 0.8.4. Should be there now.

If you can get your microphone working on any Puppy sound app, it should also work with pAVrecord [I hope I am correct saying that...]. I expect you know anyway. In the program code I select sound card with plughw (rather than just hw) at around line 278.

On my system it is just a matter of opening retrovol in full window mode (which the mixer button in pAVrecord does for you anyway) and setting my Mic1 as the Capture device; clicking on the Mic boost checkbox there; selecting Mic as "Mono output select device" (you would select Mix there if you wanted to record audio being heard from the Internet); and enable the Capture volume control and turn its amplitude up high.

NOTE WELL: To be sure the new version of pAVrecord will start up okay you should completely delete the old config folder /root/.pavrecord before installing the new dotpet. That's because it has some new config variables in the code which wouldn't be correctly initialised by the old config._________________Non enim propter gloriam, diuicias aut honores pugnamus set propter libertatem solummodo quam Nemo bonus nisi simul cum vita amittit.

NOTE WELL: To be sure the new version of pAVrecord will start up okay you should completely delete the old config folder /root/.pavrecord before installing the new dotpet. That's because this version has some new config variables in the code which wouldn't be correctly initialised by the old config._________________Non enim propter gloriam, diuicias aut honores pugnamus set propter libertatem solummodo quam Nemo bonus nisi simul cum vita amittit.

Developed/Tested and all options working well on Slacko-5.3.3.
Is only partially working in Wary 5.3 because Wary 5.3 doesn't include ffplay which is used to monitor the video as it is being recorded. ffplay is required because it accepts input via a pipe whilst mplayer does not seem to.

Also tested as working fine, to a large extent, on Puppy Precise (version 5.3.95.1), but not for all encoders since, for example, the ffmpeg currently provided there doesn't seem to include libxvid, libfaac, or libx264. It works well in Precise with ogg audio + theora video in an ogv container however - which is now the default selection when first installed. x11grab and jpeg generation also work in Precise.

For missing options to work in Puppy Precise 5.3.95.1, the ffmpeg there would have to include libx264m libfaac, libvorbis and libxvid in addition to the already provided x11grab, libvorbis, libmp3lame and libtheora etc. NOTE: aac audio could be recorded in Puppy Precise if I changed the aac encoder line to -acodec aac -strict experimental. However, that inbuilt ffmpeg encoder doesn't respond to audio quality parameters, as determined in tests, and also documented on the web - so libfaac is required for aac recording.

Works in Slacko beta 5.4 up to a point, but the audio and video stream mixing doesn't work because the ffmpeg there isn't recognising the standard decoder 'copy', so code like -codec copy is not working with that ffmpeg. Also the arecord VU display isn't outputting correctly in that puppy version i.e. this command doesn't work as it should in Slacko beta 5.4:

# Version 0.8.8: fixed ffmpeg copy option and VU bugfixed. Now works fine in Slacko 5.4 beta too (which has newer ffmpeg version 0.11.x). I'm hopeful it will also now work in Pemasu's Dpup Exprimo 5x3412 (same ffmpeg version he tells me), which I'll download at some stage to check out since pAVrecord is being used there.

By default, when using Theora for video, pavrecord uses -qscale 31 parameter for higher quality. You can overwrite this by entering, for example, -qscale 1, for lowest quality, in the Extra O/P Options entry box.

When monitoring video recording, depending on your machine amongst other factors, you may experience a delay before the video window appears (it takes ages on my computer with x264 - but it does come eventually...). Also, with Theora, particularly since it is high quality by default, the video and audio may be a bit out of sync and you will need to adjust the value in the Audio sync entry box before recombining the audio and video track. The 1.2 seconds, as provided by default, works perfectly for me with mp3 audio plus MPEG-4 video (Xvid) in an avi container. Puppy Precise 5.3.95.1 doesn't currently have Xvid enabled but you can use ogg_q for audio, Theora for video, in an ogv container for that distribution version release._________________Non enim propter gloriam, diuicias aut honores pugnamus set propter libertatem solummodo quam Nemo bonus nisi simul cum vita amittit.

Version 0.8.8:
The combining works and also my inbuild microphone now is captured. I played with options and Theora video encoder produces good visual quality.
I added .ogv to the mime definitions and it will be associated to the gnome-mplayer in next dpup release. Now it opens in Mplayer, not bad choice either.....

And thanks !!!

EDIT. Here is the pavrecord output when I launched it in the terminal. Remove the phony .gz. It is plain text file.

I had to find one of my machines with a working mic.. .. the eee701Sd. I had a usb stick lying around with an earlier slacko-5.4 beta (basically all the same under the hood though) and pAVrecord worked nicely.

This will fill a gap in the Puppy suite, nice job!_________________Woof Mailing List | keep the faith |

# Version 0.8.9: replaced aac -strict experimental with libfaac (sorry, I didn't realise I had left aac -strict experimental in 0.8.8 - I had forgotten to put it back to libfaac)

I note from a post by shinobar at http://www.murga-linux.com/puppy/viewtopic.php?p=658852#658852 that he has provided a libav update for ffmpeg for the latest Precise beta. In that he supplies libvo-aacenc so I guess I will provide a special version of pAVrecord for Puppy Precise shortly to use that instead of libfaac

EDIT: Unfortunately I have just discovered that the PAE kernel in the new Precise beta does not run on my machine, so I cannot test it at the moment._________________Non enim propter gloriam, diuicias aut honores pugnamus set propter libertatem solummodo quam Nemo bonus nisi simul cum vita amittit.

Posted: Wed 17 Oct 2012, 06:53 Post_subject:
New version for Precise will be uploaded tomorrow

I'm working on a version for Precise plus shinobar's libav extra dotpet installed there.

There is a problem with libxvid on that one for some reason, so I am planning to work around that. Also, mplayer and gnome-mplayer on Precise doesn't like my method of delaying the audio track so refuses to play (or won't play the sound sometimes) - the same created video plays fine on the Slacko 5.4 beta versions of these programs. However, I think I have found a better way of delaying the audio anyway so I hope to produce new version(s) tomorrow. Will be a different dotpet for Precise though, because of that libxvid issue._________________Non enim propter gloriam, diuicias aut honores pugnamus set propter libertatem solummodo quam Nemo bonus nisi simul cum vita amittit.