colinkeenan / silentcast

Create silent mkv screencast and animated gif.
GNU General Public License v3.0
512 stars 22 forks source link

unable to install on Ubuntu 14.04 #37

Closed ghost closed 7 years ago

ghost commented 7 years ago

Sorry, this may be elementary... not much up on workings with Ubuntu, but I have tried both through the software center and command line to install and I get the following through command line:

$ sudo add-apt-repository ppa:sethj/silentcast

$ sudo apt-get update

$ sudo apt-get install silentcast

Upon execution of the last command, I get the following messages:

Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation:

The following packages have unmet dependencies: silentcast : Depends: ffmpeg but it is not installable E: Unable to correct problems, you have held broken packages.

If I try from the Synaptic Manager, I get the following:

silentcast: Depends: ffmpeg but it is not installable Depends: yad but it is not going to be installed Depends: xdotool but it is not going to be installed Depends: imagemagick Depends: wmctrl

I would like to try the program and would appreciate any advice as to how to proceed.

Thanks!

Seth-Johnson commented 7 years ago

What version of Ubuntu are you running (or elementary)?

On Wed, Dec 21, 2016, 20:24 billdee5501 notifications@github.com wrote:

Sorry, this may be elementary... not much up on workings with Ubuntu, but I have tried both through the software center and command line to install and I get the following through command line:

$ sudo add-apt-repository ppa:sethj/silentcast

$ sudo apt-get update

$ sudo apt-get install silentcast

Upon execution of the last command, I get the following messages:

Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation:

The following packages have unmet dependencies: silentcast : Depends: ffmpeg but it is not installable E: Unable to correct problems, you have held broken packages.

If I try from the Synaptic Manager, I get the following:

silentcast: Depends: ffmpeg but it is not installable Depends: yad but it is not going to be installed Depends: xdotool but it is not going to be installed Depends: imagemagick Depends: wmctrl

I would like to try the program and would appreciate any advice as to how to proceed.

Thanks!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/colinkeenan/silentcast/issues/37, or mute the thread https://github.com/notifications/unsubscribe-auth/ADOKWJJHSyGxbA4KfIJi5y6mtKSaPMA5ks5rKftpgaJpZM4LToOI .

colinkeenan commented 7 years ago

If you are using 16.04 or 16.10, maybe you need to do this:

sudo add-apt-repository universe

I don't use Ubuntu, but some searching found that command for adding the repository that should have ffmpeg.

colinkeenan commented 7 years ago

Also, I'm pretty sure that by the end of January, I'll have a completely different UI for silentcast worked out because I'm learning Gtk3 by re-writing Silentcast in it. I'm having it start with a full-screen translucent window with a green rectangle drawn around the active window. That rectangle can be moved or resized. I've got that part working although there are still some issues with detecting the active window geometry (was much easier using bash tools). Overall, it will be much easier to use when I come out with this Gtk version.

ghost commented 7 years ago

Seth, I'm running Ubuntu 14.04 LTS. Colin, thanks for the suggestion, but when I tried it, I got this message: 'universe' distribution component is already enabled for all sources. I also just tried to install from Ubuntu's software center. I get similar messages: The following packages have unmet dependencies:

silentcast: Depends: ffmpeg but it is not going to be installed Depends: python (>= 2.7) but 2.7.5-5ubuntu3 is to be installed

So it looks like other things need to be installed but are being blocked(?) or I just haven't found the right commands. Don't have a clue really.

colinkeenan commented 7 years ago

Searching for how to install in 14.04 gave this as the top result:

http://www.faqforge.com/linux/how-to-install-ffmpeg-on-ubuntu-14-04/

It explains that ffmpeg was removed from 14.04 then re-added in 15.04. It provides a tutorial for installing ffmpeg. Seth used to include ffmpeg in the silentcast package, but removed it since it's available in recent versions of Ubuntu.

Seth-Johnson commented 7 years ago

Ugh. I thought we had made it past the those times. My bad. Let me see what I can do. In the meantime the link @colinkeenan posted above should work.

ghost commented 7 years ago

Thanks, Colin, that seemed to do it! Installed ffmpeg first, then followed the three commands above for install. By the way, how is the program working? It looks like it first makes an MKV file, then a GIF from that if I'm not mistaken. Are the GIFs uncompressed?

colinkeenan commented 7 years ago

The mkv is uncompressed, but you have the option to make compressed movie files (mp4 or webm). The pngs are generated by ffmpeg in a very straightforward command. For example, if you use the default 8 frames per second, this is the command to generate the pngs:

ffmpeg -i temp.mkv -r 8 ew-%03d.png

I don't know if ffmpeg optimizes them in any way, but assume they are somewhat compressed. You could compare the size of the mkv file with the size of all the png images. The png images are then combined into a gif using convert from the imagemagick package. Again, leaving everything at default and assuming you did not have to delete any pngs for the sake of memory, this is the command that would make the gif:

convert -adjoin -delay 8 -layers optimize ew-[0-9][0-9][0-9].png anim.gif

As you can see, this command even has the word "optimize" in it, so it is compressed. You can compare the size of the final gif to the original mkv. It will be much smaller, but not as small as the movie formats are.

ghost commented 7 years ago

Thanks, Colin. The MKV is indeed uncompressed, which is exactly what I have been seeking because I am going to use the resulting data in another video and I needed ideal quality to begin with. I find too many issues trying to import compressed videos into other programs to make a master video. It's also nice to have the image option too. One area I'm having trouble with is area to be screen captured. On the second page menu, I chose "WxH", but I didn't realize at first that I am then supposed to replace "W" and "H" with whatever video size I am seeking (at least that is my impression). So I input, say, 400x400 and click and then I get the cross, but I don't see any boundaries as to what I am about to record. If I then click the cross, the dialogue pops up about "manual resize and position" and it says to "move the next active window to the area to be recorded, and resize manually if desired" but I don't see any box appearing to resize. I click ok to start recording and I am getting the MKV, but for the entire screen, not just one area, so any help here would be welcome. Thanks again!

colinkeenan commented 7 years ago

It is because of these UI issues that I am rewriting this in Gtk3 with a UI based entirely on a resizable and movable rectangle. For your purposes, it sounds like you should choose "Transparent Window" as the "Area to be recorded". You can then choose a pre-set size for the transparent window, or enter a size like 400x400, or manually resize the transparent window by dragging as usual. If you want to just record an entire window, you can leave it on "Entirety of a Window" instead of choosing "Transparent Window", but enter the size, like 400x400 and it will resize the window you want to record before recording begins.