Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated to 1.5.4 #18

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ David Klasinc - Coding
Georgi Karavasilev - Design, Testing
Alan Pope - Testing
Ken VanDine - Packaging

Mirco "MacSlow" Müller - old-school countdown widget
Stuart Langridge - countdown fixes, on-screen keyboard
97 changes: 97 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
Kazam 1.5.3 - NX-72307

- Rudimentary broadcasting to YouTube Live
- On screen display of mouse clicks and keystrokes
- Some code cleanups here and there

Kazam 1.5.0 - NX-72307
----------------------

- Planned support for webcams
- Planned support for broadcasting directly to YouTube Live and Twitch


Kazam 1.4.0 - NCC-2000
----------------------

- When recording an area a red rectangle will be displayed to mark
the recording area during the recording if you are using Ubuntu
13.04 or higher.

- New program icon.

- Kazam is now using symbolic icons for toolbars.

- Minor changes to countdown screen.

- Various minor bug fixes:
#1096331
#1104888
#1105618
#1116294
#1099942
#1096370
#1073818
#1073572


Kazam 1.3.99 - NX-01
--------------------

- Switch to python3 is complete and all necessary dependencies are
taken care of.

- Audio sources are now separated in two groups 'monitor sources'
which can be used for capturing computer audio and 'standar input'
sources which can be used to capture microphone and other inputs.

- The following launchpad bugs were addresed:

#1085437
#1073712
#1079962
#1083041
#1037538
#1072256
#1074354
#1080636
#1082865
#1083047

Kazam 1.3.4 - NCC-2893 (Stargazer Edition)
------------------------------------------

- Instant mode, to capture screenshots from command line, use
the following switches:
-f / --fullscreen capture full screen
-w / --window capture currently active window
-a / --area capture a preselected screen area
-g / --godmode disable sounds, use automatic file saving and
capture full screen & active window at the same
time

- New area and window selection screens.
- Unity Launcher quicklist added.

Kazam 1.3.1 - NCC-2893 (Stargazer Edition)
------------------------------------------

- GStreamer 1.0 support, Kazam will no longer work with older versions
of GStreamer. This includes 0.11 (1.0 alpha/beta/rc) version. Some
encoders were changed in transition from beta to final release which
messed up a lot of things.

- Completely new GUI. Designed by https://launchpad.net/~kokoto-java with
the omnipresent guiding hand of https://launchpad.net/~mpt

- Support for taking still screen captures, also known as screenshots.

- Support for automatic file saving. You can set the prefix filename
separately for screenshots and screencasts.

- Support for selecting a single window to screencast. Screenshots are
still limited to full screen and/or area selection.

- Theme-able shutter sounds. Right now you can choose between Canon 7D
and Nikon D80. ;)

32 changes: 25 additions & 7 deletions README
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

Kazam v1.4.4 "NCC-80102"
Kazam v1.5.x "NX-72307"


Introduction
Expand All @@ -19,15 +19,15 @@ Latest version
Kazam is always available from Launchpad under https://launchpad.net/kazam

Latest stable release is 1.4.4.
Latest unstable release is 1.3.99
Latest unstable release is 1.5.0


Installation - stable release
-----------------------------

If you are using Ubuntu 14.04 or 13.10 then stable version (1.0.x)
is available from universe repository. You can find it in Ubuntu Softare
Center or install it from the terminal with the following command:
If you are using Ubuntu 14.04 then stable version (1.4.4) is available from
universe repository. You can find it in Ubuntu Softare Center or install it
from the terminal with the following command:

$ sudo apt-get install kazam

Expand Down Expand Up @@ -70,7 +70,7 @@ Installation - development version
If you want bleeding edge, development version then you will have to get
source code from Launchpad by running the following command:

$ bzr branch lp:kazam
$ bzr branch lp:kazam/unstable

Then you need to run setup.py to build and install Kazam:

Expand All @@ -89,7 +89,7 @@ that you have to take into account. Every icon has to be taken from
currently installed icon theme. Toolbars will not show any icons and you
will not see Unity AppIndicator.

To run Kazam simply execute the following commands in the source tree:
To run Kazam simply execute te following commands in the source tree:

$ cd bin
$ ./kazam
Expand Down Expand Up @@ -142,6 +142,11 @@ sharing services.
Known Issues
------------

- New countdown timer will work correctly only if you have pycairo 1.10.1
installed. Ubuntu 14.04 ships with 1.10.0. Unstable PPA for kazam currently
provides the latest pycairo. This version of pycairo is untested and it might
happen that other things will break if you install it.

- Trouble with recording audio from certain Monitor sources. I noticed
this with Logitech G110 USB Keyboard that can play audio. Pulse
Audio will see two devices: USP PnP Stereo Device and 'Monitor of USB PnP
Expand All @@ -167,6 +172,19 @@ Mint users can turn on window compositing in Desktop Settings.
- When taking a screenshot of a preselected window with window decorations
you have to make sure that your window is not covered by other windows.

- Mouse cursor is offseted by a number of pixels when capturing video of a
pre-selected window. This is due to a GStreamer bug.
See https://bugs.launchpad.net/kazam/+bug/1092339 and
https://bugzilla.gnome.org/show_bug.cgi?id=690646 for more info.

- Preliminary support for displaying keypresses and mouse clicks is done.
It looks ugly and support is still clumsy it can also die and stop working.
There are issues with dual screen setups.

- Broadcast support is currenly in a very experimental stage. It will only
work for YouTube Live. Support for Twitch is coming in the next updates.
You will have to provide YouTube Live Stream and Server URL from custom made
ingestion.


Debugging & reporting problems
Expand Down
13 changes: 4 additions & 9 deletions TODO
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,7 @@ TODO

Whishlist (by BigWhale) and reasons why is something still on a whishlist

- Frame marking the capture area while recording is in progress
A transparent window with no input mask is required on screen. However,
for that to work, Gdk.cairo_region_create_from_surface() is required. For
some reason, this fuction still isn't introspected. See:

http://askubuntu.com/questions/97789/creating-a-gtk-window-with-input-shape-mask-in-python

(This is still an issue ... :'( )

- Memory consuption issues with VP8 (needs checking)
- Detection of avenc_aac and x264enc, if one of them is missing, disable
broadcast mode.

45 changes: 23 additions & 22 deletions bin/kazam
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ from dbus.mainloop.glib import DBusGMainLoop

from gi.repository import Gtk


class KazamService(dbus.service.Object):

def __init__(self, app):
self.app = app
bus_name = dbus.service.BusName('org.kazam', bus=dbus.SessionBus())
Expand All @@ -42,14 +44,13 @@ class KazamService(dbus.service.Object):
self.app.window.show()
self.app.window.present()


@dbus.service.method('org.kazam')
def prefs(self):
self.app.cb_preferences_request(None)

if __name__ == "__main__":

logger = logging.getLogger()
logger = logging.getLogger()
logger.name = "Kazam"
handler = logging.StreamHandler()
formatter = logging.Formatter('%(levelname)s %(name)s - %(message)s')
Expand Down Expand Up @@ -80,21 +81,21 @@ if __name__ == "__main__":

from kazam.version import *
version = "%(prog)s {0} '{1}'".format(VERSION, CODENAME)
parser = ArgumentParser(description = "Kazam - Screen recording and capturing program.")

parser.add_argument("--debug", action = "store_true", help = "enable debug mode")
parser.add_argument("--silent", action = "store_true", help = "silent start, no UI shown")
parser.add_argument("--nosound", action = "store_false", help = "disable PulseAudio")
parser.add_argument("--test", action = "store_true", help = "generate test video signal")
parser.add_argument("-v", "--version", action = "version", version = version)
parser.add_argument("-f", "--fullscreen", action = "store_true", help = "instant screenshot of a full screen")
parser.add_argument("-a", "--area", action = "store_true", help = "instant screenshot of a preselected screen area")
parser.add_argument("-s", "--select", action = "store_true", help = "instant screenshot of a preselected window")
parser.add_argument("-w", "--window", action = "store_true", help = "instant screenshot of an active window")
parser.add_argument("-p", "--preferences", action = "store_true", help = "show preferences window")
parser.add_argument("-g", "--godmode", action = "store_true", help = "god mode of capture")
parser.add_argument("-x", "--instance", action = "store_true", help = "spawn new instance")

parser = ArgumentParser(description="Kazam - Screen recording and capturing program.")

parser.add_argument("--debug", action="store_true", help="enable debug mode")
parser.add_argument("--silent", action="store_true", help="silent start, no UI shown")
parser.add_argument("--nosound", action="store_false", help="disable PulseAudio")
parser.add_argument("--test", action="store_true", help="generate test video signal")
parser.add_argument("-v", "--version", action="version", version=version)
parser.add_argument("-f", "--fullscreen", action="store_true", help="instant screenshot of a full screen")
parser.add_argument("-a", "--area", action="store_true",
help="instant screenshot of a preselected screen area")
parser.add_argument("-s", "--select", action="store_true", help="instant screenshot of a preselected window")
parser.add_argument("-w", "--window", action="store_true", help="instant screenshot of an active window")
parser.add_argument("-p", "--preferences", action="store_true", help="show preferences window")
parser.add_argument("-g", "--godmode", action="store_true", help="god mode of capture")
parser.add_argument("-x", "--instance", action="store_true", help="spawn new instance")

args = parser.parse_args()
if args.debug:
Expand All @@ -108,19 +109,19 @@ if __name__ == "__main__":

if args.fullscreen:
from kazam.instant import InstantApp
app = InstantApp(datadir, dist, args.debug, 1) # MODE_ALL
app = InstantApp(datadir, dist, args.debug, 1) # MODE_ALL
elif args.area:
from kazam.instant import InstantApp
app = InstantApp(datadir, dist, args.debug, 2) # MODE_AREA
app = InstantApp(datadir, dist, args.debug, 2) # MODE_AREA
elif args.select:
from kazam.instant import InstantApp
app = InstantApp(datadir, dist, args.debug, 3) # MODE_WIN
app = InstantApp(datadir, dist, args.debug, 3) # MODE_WIN
elif args.window:
from kazam.instant import InstantApp
app = InstantApp(datadir, dist, args.debug, 4) # MODE_ACTIVE
app = InstantApp(datadir, dist, args.debug, 4) # MODE_ACTIVE
elif args.godmode:
from kazam.instant import InstantApp
app = InstantApp(datadir, dist, args.debug, 666) # MODE_ACTIVE
app = InstantApp(datadir, dist, args.debug, 666) # MODE_ACTIVE
else:

DBusGMainLoop(set_as_default=True)
Expand Down
Loading