From Fedora Project Wiki

(remove guvcview)
(remove flash bits)
Line 83: Line 83:
sudo dnf install simplescreenrecorder
sudo dnf install simplescreenrecorder
</pre>
</pre>
== Why not Flash? ==
vnc2swf (http://www.unixuser.org/~euske/vnc2swf/) is a excellent program which produces screencasts using the Flash format. However this is not acceptable to Fedora for a wide variety of reasons
* Flash format is proprietary and Fedora uses and supports open specifications and formats.
* Free and Open Source Flash players and plugins such as GPLFlash and swfdec do not provide all the required functionality or features.
* Flash plugins or players are not available in all architectures provided by Fedora such as x86_64 or ppc.
* Ogg Theora is a open source codec and works out of the box in Fedora without any third party components.
* If you still want to use flash videos for Fedora, create the screencasts in ogg theora and do the conversion to flash and make them available in both formats.


== Advanced Topics: Adding Audio ==
== Advanced Topics: Adding Audio ==

Revision as of 20:28, 31 January 2019

Using Gnome's embedded screencast tool

Gnome3 has already a screen recording functionality. Pressing Alt+Ctrl+Shift+R recording will start. There should be a red icon on the message tray in the right-bottom corner of your screen. If the message tray is hidden, Super+M will activate it. Pressing the red icon will stop the recording. The video is saved in the Video directory on your home directory on webm format.

Increase the duration of screencast videos

At just 30 seconds long the default length of screencast using this method isn’t ideal, particularly if you plan on making a lengthy video or need to demo a particular workflow or feature. It is possible to increase the duration of screencasts manually, by modifying the following gsettings string using the Terminal application:

gsettings set org.gnome.settings-daemon.plugins.media-keys max-screencast-length 60

Replace the ’60’ value with the length you want in seconds, e.g., 300 for 5 minutes, 600 for 10 minutes, and so on. If you set the value to ‘0’ there will be no time limit.

Remember: you can stop recording at any time regardless of the duration you set. Just press the keyboard shortcut you use to start recording to stop recording.

Byzanz

Byzanz is available in Fedora. It is similar to Istanbul, but can also produce:

  • animated GIF files (video only)
  • Ogg Theora files (with or without audio)
  • FLV Flash screen files (lossless, can be postprocessed)
  • Byzanz format for conversion later to multiple formats

Refer to http://www.advogato.org/person/company/diary.html?start=18 for more information. To install, use your preferred software manager to install the byzanz package.

WebHuddle.sf.net

WebHuddle allows you to record a desktop whether in a multi-user meeting or not. Requires a download from WebHuddle.SourceForge.net. Java based, so both the server and clients are CrossPlatform.

Green-recorder

A simple desktop recorder for Linux systems. Built using Python, GTK+ 3 and ffmpeg. It supports recording audio and video on almost all Linux interfaces. Also, Green Recorder is the first desktop program to support Wayland display server on GNOME session.

The following formats are currently supported: mkv, avi, mp4, wmv, gif and nut (And only WebM for Wayland's GNOME session). You can stop the recording process easily by right-clicking the icon and choosing "Stop Record". Or middle-clicking the recording icon in the notifications area (but doesn't work on all interfaces).

You can choose the audio input source you want from the list. You can also set the default values you want from the preferences window. And a lot more.

Fedora 28:

sudo dnf config-manager --add-repo http://download.opensuse.org/repositories/home:mhsabbagh/Fedora_28/home:mhsabbagh.repo
sudo dnf install green-recorder

Fedora 29/Rawhide:

sudo dnf config-manager --add-repo http://download.opensuse.org/repositories/home:mhsabbagh/Fedora_Rawhide/home:mhsabbagh.repo
sudo dnf install green-recorder

Siple Screen Recorder

SimpleScreenRecorder is a Linux program that I've created to record programs and games.

Features

  • Graphical user interface (Qt-based).
  • Faster than VLC and ffmpeg/avconv.
  • Records the entire screen or part of it, or records OpenGL applications directly (similar to Fraps on Windows).
  • Synchronizes audio and video properly (a common issue with VLC and ffmpeg/avconv).
  • Reduces the video frame rate if your computer is too slow (rather than using up all your RAM like VLC does).
  • Fully multithreaded: small delays in any of the components will never block the other components, resulting is smoother video and better performance on computers with multiple processors.
  • Pause and resume recording at any time (either by clicking a button or by pressing a hotkey).
  • Shows statistics during recording (file size, bit rate, total recording time, actual frame rate, ...).
  • Can show a preview during recording, so you don't waste time recording something only to figure out afterwards that some setting was wrong.
  • Uses libav/ffmpeg libraries for encoding, so it supports many different codecs and file formats (adding more is trivial).
  • Can also do live streaming (experimental).
  • Sensible default settings: no need to change anything if you don't want to.
  • Tooltips for almost everything: no need to read the documentation to find out what something does.

SimpleScreenRecorder is available in the RPM Fusion reposity. RPM Fusion can be activated with this command:

rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm

After that, SimpleScreenRecorder can be installed with this command:

sudo dnf install simplescreenrecorder

Advanced Topics: Adding Audio

  • You must have audacity (or other audio recorder) installed
  • Record your audio track, taking care to synchronize it with events in your recording (I believe this may be easier to record the audio track first, then go back and play the audio while recording video)
  • Export your audio to a wave or ogg-vorbis file, I use /tmp/stream.wav
  • Grab the script File:ScreenCasting fedora-av-splice.sh . This script uses the gstreamer framework to add the audio and re-encode the theora video file
  • Run fedora-av-splice.sh /tmp/stream.wav /path/to/theora.ogg /path/to/result.ogg
  • Get a cup of coffee while things encode, this will be cpu intensive.
  • You should be able to play the resulting file in mplayer, vlc, totem, or xine

Advanced Topics: Alternative Audio Tracks

Goal: Create alternative audio tracks for pre-existing screencast named desktop-recording.ogg

Additional Software Needed: libannodex in Fedora

  • Create a 10 second timestamp test pattern video with gstreamer
gst-launch-0.8 videotestsrc num-buffers=250 ! video/x-raw-yuv,framerate=25.0 ! timeoverlay ! theoraenc ! oggmux ! filesink location=test.ogg

Or use the provided File:ScreenCasting test.ogg

  • chain the two videos together to produce a video with 10 second lead-in
cat test.ogg desktop-recording.ogg > edit-video.ogg
  • begin playing video with totem edit-video.ogg
  • begin recording new audio track at the end of the 10 second lead in.
  • make small edits as needed at the beginning and end of the audio to have audio file make time length of the original video
  • use File:ScreenCasting fedora-av-splice.sh as above to replace the original audio track

Advanced Topics: Adding a video timestamp

For further editing needs, one can overlay the time over the original video. This may help in the production of additional audio tracks. Here is a small script to produce a video with video timestamp visible File:ScreenCasting fedora-video-timestamp.sh


References