weX and weav with scrox (weX dependency)

Audio editors, music players, video players, burning software, etc.
Message
Author
User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#31 Post by fredx181 »

Hi William, All,

Here's a static ffmpeg I build myself with configure option --enable-avresample , this way the asyncts filter works:
https://drive.google.com/file/d/0ByBgCD ... sp=sharing
(works for me on Wheezy, Jessie and Xenial(dog)

Also updated the portable image and portable folder below including this ffmpeg build, so now the following is used in /etc/wex/plugins/audio_in.plug:

Code: Select all

ffmpegFilter_Complex0="-filter_complex asyncts"
(as it is by default)

Portable appimage 'wex-portable'
Extract wex-portable.tar.gz and run wex-portable
https://drive.google.com/file/d/0ByBgCD ... sp=sharing size: 12MB

Folder from which the appimage is built (to execute: extract Wex-portable.tar.gz and run 'AppRun' from inside Wex-portable folder):
https://drive.google.com/file/d/0ByBgCD ... sp=sharing

See also 'updated' in red here:
http://murga-linux.com/puppy/viewtopic. ... 951#922951

Have a good time William!

Fred

Pelo

Slacko 5.7 Slegopen.

#32 Post by Pelo »

scrox -p -n
libgiblib.so.1 missing..
Slacko 5.7 Slegopen.
Gliblib downloaded from salix Repository, but libimlib2 unavailable.
I will try with a newer Slacko, Slaxen 6.3.2 should be perfect to test Wex. Perhaps french team could include it in final version. Medor will test better because he is an expert in Linux. He will help me, in French, for the try.
Attachments
Slegopen.png
Menu ok, but wex does not start
(45.77 KiB) Downloaded 682 times

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#33 Post by fredx181 »

Pelo, what is the output when you type in terminal : wex

You could try also wex-portable (see in my previous post above)

Fred

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

wex-portable test result

#34 Post by mcewanw »

fredx181 wrote:Hi William, All,

Here's a static ffmpeg I build myself with configure option --enable-avresample , this way the asyncts filter works:
https://drive.google.com/file/d/0ByBgCD ... sp=sharing
(works for me on Wheezy, Jessie and Xenial(dog)

Also updated the portable image and portable folder below including this ffmpeg build, so now the following is used in /etc/wex/plugins/audio_in.plug:

Code: Select all

ffmpegFilter_Complex0="-filter_complex asyncts"
(as it is by default)

Portable appimage 'wex-portable'
Extract wex-portable.tar.gz and run wex-portable
https://drive.google.com/file/d/0ByBgCD ... sp=sharing size: 12MB
Hi Fred,

Though it has just turned pastmidnight here, so I was shutting down computer and vanishing for break, I couldn't resist trying your static ffmpeg build (as in wex-portable you made):

http://www.murga-linux.com/puppy/viewto ... 202#923202

Alas, several hours ago I had erased all the distributions I had on here except XenialDog and XenialPup (previously also had Slacko 5.6 and Slitaz cooking...). Anyway, I did have iso file of old Puppy Slacko 5.3.3, which I once used a lot... And guess what, your wex-portable worked perfectly for me in an admittedly quick test (including X11grad with audio and embedded webcam on that now very old Puppy! - video and audio all being in sync and video quality great!). I also tried wex-portable in XenialDog and XenialPup and again worked perfectly including the embedded webcam and video/audio in sync. Nice ffmpeg build you have made - congratulations and thanks!

I'll link to your post in the first post of this weX thread.

Give Fred's weX portable a try, Pelo - since it works in old Puppy Slacko 5.3.3, it may well work for you too!

Bye for now!

William
github mcewanw

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#35 Post by fredx181 »

William wrote:Alas, several hours ago I had erased all the distributions I had on here except XenialDog and XenialPup (previously also had Slacko 5.6 and Slitaz cooking...). Anyway, I did have iso file of old Puppy Slacko 5.3.3, which I once used a lot... And guess what, your wex-portable worked perfectly for me in an admittedly quick test (including X11grad with audio and embedded webcam on that now very old Puppy! - video and audio all being in sync and video quality great!). I also tried wex-portable in XenialDog and XenialPup and again worked perfectly including the embedded webcam and video/audio in sync. Nice ffmpeg build you have made - congratulations and thanks!
Ah, that's good to know, and just in time! (a breakthrough before your break :) ), thanks for testing.

See you later William, Cheers!

Fred

Pelo

Wex portable is quite successful (still slacko 5.7 Slegopen)

#36 Post by Pelo »

Wex portable is quite successful (still slacko 5.7 Slegopen)
A : records the choosen window.
B file save to root Try.mkv
C read the file : Gnome pmlayer failed, avidemux too
I should be something in the default settings which is wrong.
I will check and feed back. (around 6PM france)

In fact the file try.mkv or try.avi is empty.

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#37 Post by fredx181 »

Pelo wrote:In fact the file try.mkv or try.avi is empty.
That could be because you have no webcam connected and still left the 'webcam' checkbox checked (as it is default), unchecking it might make the recording work well.

Fred

Pelo

exactly ! weX working perfectly,

#38 Post by Pelo »

exactly ! weX working perfectly, Gnome mplayer read the MKV file, video and audio.
Puppy Hungarian team informed here
Slacko 5.3.3 try here (Chess LXDE desktop)
fredx181, merci :)

Robert123
Posts: 362
Joined: Fri 20 May 2016, 05:22
Location: Pacific

Re: exactly ! weX working perfectly,

#39 Post by Robert123 »

Pelo wrote:exactly ! weX working perfectly, Gnome mplayer read the MKV file, video and audio.
Puppy Hungarian team informed here
Slacko 5.3.3 try here (Chess LXDE desktop)
fredx181, merci :)
[/img]
Attachments
serveimage.jpeg
(4.36 KiB) Downloaded 610 times
Devuan Linux, Stardust 013 (4.31) updated [url]https://archive.org/details/Stardustpup013glibc2.10[/url]
s57(2018)barebone[url]https://sourceforge.net/projects/puppy-linux-minimal-builds/files/s57%282018%29barebones.iso/download[/url]


User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#41 Post by fredx181 »

Some notes about wex-portable see: http://www.murga-linux.com/puppy/viewto ... 202#923202 and portable images in general:
A portable image is supposed to have all (most needed?) required binaries and libraries in one 'image'
That's nice because it might work on different systems without having to install anything, just click on the image and the program runs.
In case of wex-portable it's a good solution because of the 'special' ffmpeg (included in wex-portable) required for weX (older (and also some newer) official ffmpeg versions won't work as expected for weX)

Ok, but now the downside: It's in fact a waste of disk space (well... read: not really efficient). Why?
For example wex-portable:
It has included 'ffmpeg', but... ffmpeg can not be used system-wide, because it's only part of the image (to be exclusively used by weX), so ffmpeg is not included in PATH environment.

So the most efficient would be (in case of weX) (32-bit only) to:
1) install this special build of ffmpeg:
Install .pet package:
https://8cadee4e0aedcb40d24c31cf412eb89 ... 2_i386.pet
Or (for DebianDog 32-bit or XenialDog) this .deb package:
https://8cadee4e0aedcb40d24c31cf412eb89 ... 2_i386.deb
(BTW, for XenialDog the official ffmpeg works fine for weX also)

2) install weX and weaV packages from first post attachments 32-bit (as provided by weX author mcewanw):
http://www.murga-linux.com/puppy/viewto ... 785#918785
(this way weX will appear in the Menu as it's supposed to be)

3) Install scrox (this one works on old and new systems) (see attached (32-bit) )
(depends on giblib1 and libimlib2 (or maybe it's called imlib2, not sure) )

I'm not trying to discourage using wex-portable, just giving info about other way to use weX with having the advantage to be able to use ffmpeg for any other purpose than weX only.

EDIT: It seems that google-drive doesn't support well direct links anymore (works for me appr. only 1 out of 10 times clicking on the above ffmpeg link :( )
Here are different links that might work better for ffmpeg static (although not direct links):
ffmpeg pet package:
https://drive.google.com/file/d/0ByBgCD ... sp=sharing
ffmpeg deb package:
https://drive.google.com/file/d/0ByBgCD ... sp=sharing

Fred
Attachments
scrox-0.8.17_32bit.pet
scrox for older (and works also on newer) puppies
(13.41 KiB) Downloaded 328 times
Last edited by fredx181 on Wed 21 Sep 2016, 16:55, edited 1 time in total.

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

**** New ffmpeg static download links ****

#42 Post by fredx181 »

See EDIT in previous post for proper ffmpeg static url links:
EDIT: It seems that google-drive doesn't support well direct links anymore (works for me appr. only 1 out of 10 times clicking on the above ffmpeg link :( )
Here are different links that might work better for ffmpeg static (although not direct links):
ffmpeg pet package:
https://drive.google.com/file/d/0ByBgCD ... sp=sharing
ffmpeg deb package:
https://drive.google.com/file/d/0ByBgCD ... sp=sharing
Fred

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#43 Post by mcewanw »

I just wanted to make one post on this thread, particularly for those, such as Pelo, interested in weX, pAVrecord and other similar multimedia recording apps.

As I have said elsewhere, I am probably not coming back onto the forum for some time, if at all. This is not due to any recent disagreements with saintless, which was an unfortunate matter, nor with any trolls that attacked more recently. I had planned this move for a long while (even before I started writing weX). I simply have some other things I want to do for now. But I will not be leaving the programs unmaintained, so no need to worry about that - rest assured that my projects are never discontinued.

I wrote weX with various user-modifiable plugins with that departure partly in mind, with the hope these would be sufficient to deal with most maintenance issues.

However, one matter I have not been able to test is how well weX can be translated into other languages (such as french for Pelo). Like pAVrecord, weX code does fully include gettext strings, which should be able to be used easily for a translated version. However, no-one has yet come forward with any translation addon, and sometimes translators discover some changes that need to be put in the original english version to make sure translation works. Maybe someone will try that later.

Whilst I won't be seen much if at all on the forum I do intend maintaining this program and should any major error in the code be discovered simply send me a PM since I will occasionally still log in to Puppy forum to check for any private messages.

I will leave all my scripts available for anyone to use. And, by the way, in case you have ever read otherwise, I have never ever requested anyone to remove any code anywhere - pointing out an error in code is in no way equivalent to requesting removal.

Hope someone finds weX with scrox and weav useful.

I'll be missing Pelo - he annoyed me occasionally but he always remained and remains one of the posters on this forum I most enjoy reading, and it was with him in mind that I first, two years ago, conceived the scrox-assisted method of creating weX.

William
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

weX tested as working great in XenialDog64 and XenialDog32

#44 Post by mcewanw »

Just dropped by since I recently installed Fred's XenialDog 64bit Ubuntu-based system on my computer and found that weX works very well indeed with it (which it also does with XenialDog 32bit version).

weX itself is a tiny bash/gtkdialog script which makes video screencasts and can also be used as a replacement for simple audio recorder Precord. The only extra you need to install is libav-tools (which provides ffmpeg functionality). Personally I use/activate an squashfs (sfs) of libav-tools/ffmpeg, which XenialDog64 creates automatically for you by clicking StartMenu -> Accessories -> FFmpeg2sfs

Once you have downloaded that, you can activate it by right-clicking it and selecting choice "Activate module". Just accept it's activation since all is fine with it. Alternatively you could install libav-tools permanently on your XenialDog system by using:

Code: Select all

apt-get update
apt-get install libav-tools
or you can simply 'apt-get install ffmpeg', instead, since Xenial's libav-tools is just a compatibility package that installs ffmpeg along with some symlinks for avconv, avplay, and avprobe. But I'd recommend installing libav-tools for now in case any other packages require avconv etc...

To install weX you use:

Code: Select all

apt-get update
apt-get install wex
The small weX dependency (scrox), which is a more functional fork of scrot, is installed automatically at the same time as weX.

Note that weX is a very light-weight but very flexible screencast program, which provides same or similar results to Simple Screen Recorder, but without the bloat (particularly if you already have ffmpeg or libav-tools installed). weX has the advantage over SSR of being able to also embed a small (re-sizable) image of your webcam in the screencast. Indeed you can configure weX to capture only audio, or only screencast X display, or only webcam or a combination of any of these all together - just tick the checkboxes in its configuration screen to say what you want.

Well worth also installing mhwaveedit, since then a button will appear in weX configuration screen which allows you to automatically load the audiotrack screencast (or webcam video) you have just created using weX into mhwaveedit. You can then edit the audio track using mhwaveedit and wave that track as, for example, mp3 (which XenialDog version of mhwaveedit supports).

To install mhwaveedit, if you want that additional functionality:

Code: Select all

apt-get update
apt-get install mhwaveedit
You might also like to try out "weav", which is an easy to use commandline processor specially setup to provide additional multimedia commands/processing

Code: Select all

apt-get update
apt-get install weav
Yes, package management on XenialDog (or any DebianDog) is simple and powerful! :-)

Of course you could alternatively use the XenialDog graphical package management front-end to apt, which is called Synaptics to install any new package you desire, including weX...

William
github mcewanw

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#45 Post by mcewanw »

Whilst trying to install weX on my dCore-xenial system, I discovered that it currently has two unexpected dependencies (I didn't notice this before because all systems I tested it on had these dependencies satisfied by default). Without the following dependencies being satisfied, gtkdialog crashes out because it doesn't like the otherwise resulting empty buttons frame on the gui... The dependencies are:

1. You must have one or more of the following utility apps installed on your system:
gnome-mplayer, ffconvert, mhwaveedit, weav, video2audio-extract, pschedule, vlc, or mplayer
2. You must also have one or more of the following installed:
gnome-mplayer, vlc, dogradio, or pupradio.
I will fix this 'bug' in the next version, so that the installation of any or all of these utility apps are optional and not dependencies.


Text editor and filemanager requirement:

Note also, that by default you need one of the following text editors installed:
leafpad, geany, or gedit
However, you can avoid that text editor limitation by creating a text file called texteditor.plug containing the following text lines (end with empty line):

Code: Select all

P_TXT_EDITOR="name_of_your_text_editor"
export P_TXT_EDITOR
You need to put that texteditor.plug file into ~/.wex/plugins (doesn't need execute permissions). You should also put a copy of it into /etc/wex/plugins.

Similarly, if the "home" button on weX doesn't work it means you don't have a filemanager installed it knows about. In that case, create a text file called filemanager.plug containing the following text lines (end with empty line):

Code: Select all

FMANAGER="name_of_your_filemanager"
export FMANAGER
You need to put that filemanager.plug file into ~/.wex/plugins (doesn't need execute permissions). You should also put a copy of it into /etc/wex/plugins.


weX also expects either rxvt, urxvt, xterm or uxterm to be installed but it works without them.

NOTE WELL that all recent Puppies already satisfy these dependencies as do all DebianDog/XenialDog and FatDog systems. But worth bearing in mind if you try to use it on a different system (like dCore-xenial!).

William
github mcewanw

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#46 Post by fredx181 »

The settings window of weX:

Image

weX really deserves some promotion (works great!) and...
I'm rather exited (although off-topic, sorry) :) that a very good quality .gif image can be created from a video with ffmpeg and function as a simple demo.
See also here (got the code for gifenc from there, see below):
http://blog.pkh.me/p/21-high-quality-gi ... fmpeg.html

Attached, gifenc.tar (remove dummy .tar and make executable) and to make a .gif from a (short) video, run e.g.:

Code: Select all

./gifenc myvideo.mp4 mygif.gif
This will make a "looped" gif, if you want no loop (*play* it just once) change "-loop 0" to: "-loop 1" in the script.

The .gif image above is made from 87 sec duration video, gif size=1.5MB

PS: It would be nice also maybe if a screencast can be made directly into a .gif, didn't investigate if possible though.

Fred
Attachments
gifenc.tar
gifenc, remove dummy .tar and make executable
(259 Bytes) Downloaded 307 times

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#47 Post by mcewanw »

Nice! I didn't actually notice at first that the image was an animated gif.

Since weX will itself pass out the created video path/name to one of its external utilities, a slight mod to that gifenc script will allow it to immediately be used as one of the Post-Processing utilities (adding a button to the weX gui).

You just need to press the bottom Edit (list of Post-Processing Utilities) button and modify the "Processing Utilities" list to make gifenc one of its members (not the "Other Utilities" cos the path/name doesn't get passed out to these ones). The mod required is obviously just to use $1 but with its extension replaced with .gif. I haven't tried this, but I think the following will do the job:

${1%.*}.gif

That is, gifenc becomes:

Code: Select all

#!/bin/sh

palette="/tmp/palette.png"

filters="fps=10,scale=550:-1:flags=lanczos"

ffmpeg -ss 1 -v warning -i $1 -loop 0 -vf "$filters,palettegen" -y $palette
ffmpeg -ss 1 -v warning -i $1 -i $palette -loop 0 -lavfi "$filters [x]; [x][1:v] paletteuse" -y ${1%.*}.gif
Thanks for the utility,

William
github mcewanw

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#48 Post by fredx181 »

Hi William,
You just need to press the bottom Edit (list of Post-Processing Utilities) button and modify the "Processing Utilities" list to make gifenc one of its members (not the "Other Utilities" cos the path/name doesn't get passed out to these ones).
Ah, like this I think:
Image

Getting to0 late here. Forgot the quotes, but just enjoyed uploading another animated gif :lol:
Will try further tomorrow what you suggested, reading the instructions in user_utilities text file I think I understand, where the icon goes etc...

EDIT: No, I think I have to replace one of the 7 wex_utility lines by gifenc

Fred

mcewanw
Posts: 3169
Joined: Thu 16 Aug 2007, 10:48
Contact:

#49 Post by mcewanw »

fredx181 wrote:
EDIT: No, I think I have to replace one of the 7 wex_utility lines by gifenc

Fred
Yeah, "Processing Utilities" space goes from 00 up to 07 only (I didn't want to overly clutter the interface). Of course, since a utility can be a script, that script could be used to provide a submenu to further utilities...

As for 'promotion', indeed if usage was a measure then weX must be one of my least successful programs! hahaha But, yeah, that's funny for me cos its probably easily my best (even just as an audio recorder like alone the rest of it). But I really don't mind if it lies in obscurity - main reason I keep it up to date is because it does what I want it to and I'm glad I added the plugin/external-utilities options because, even for me the author it is easier to update/fix the program via these than trying to muck around modifying the already pretty huge script.

I am planning to try and make it work with busybox ash (for tinycore though) and avoid gtkdialog bashism related problems from now on) - quite a big rewrite required for that though (functions can't be exported and so on) - actually want to make the gui part language agnostic so I can more easily code that in C/gtk, or Lua, or fltk or whatever since most of the underlying real work is just shell script. Got to get away from relying on gtkdialog (which is also painful to debug) since not adopted by major distributions.

William

EDIT: Love your animated mini-tutorial gifs by the way, though I guess they will vanish one day since most people don't keep their dropbox and similar storage accounts forever... Still, its a neat idea.
github mcewanw

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#50 Post by fredx181 »

Hi William (and everyone), got it working now with gifenc button as one of the "Processing Utilities" in weX.
Modified the gifenc script according to your suggestions and (because I wanted to see output) made it to show progress (or possibly errors) in a xterm window.
Attached new gifenc script (remove dummy .tar and make executable)

Mini-how-to (how I did):

- Put the attached gifenc script in /usr/local/bin (or somewhere else in PATH)
- Click the Edit button on the right bottom of weX settings window (see screenshot: edit_processing-utilities.png)
- Replace pschedule with gifenc (as screenshot: edit_user_utilities.gif shows) (and save the file)
(btw, I didn't bother about a new special gif icon, so kept icon of pschedule)
- Close weX, and when running again a new button appears for gifenc, see screenshot: gifenc_5th-button.png
Clicking this button should convert the last screencast video you made to .gif format. (only suitable for very short video IMO, of course)

I should mention, when running new gifenc script from terminal, only one argument is required now, e.g.

Code: Select all

./gifenc test.mp4
And the converted to .gif file will be named then as test.gif
(Requires to have xterm installed, btw)

EDIT: If no webcam is attached on your computer, make sure the webcam checkbox is unticked, otherwise the video creation will fail.
I noticed also that after I made the change (as above described) the webcam checkbox was ticked again (had it unticked before that, so seems to have reset to the default), so just had to untick again.

EDIT2: Just tell me, William, if something's wrong (or to better write differently) about any of the above I wrote (some is rather new to me).

EDIT3: attached gifenc-yad (remove fake .gz and make executable : chmod +x gifenc-yad)
This has more options (yad GUI), such as setting the size, start time, duration
Use like this:

Code: Select all

./gifenc-yad test.mp4
or set it as processing_utility for weX

EDIT4: Removed for now attached gifenc-yad, still trying to improve, will upload later
May 15 2017, attached gifenc-yad again, improvement: more precise adjustment for Start and Duration (with milliseconds)

EDIT5: Updated gifenc-yad and added gifenc-sel (for selecting .gif from yad file-selector)
Added checkbox for low quality, which makes possible very small size, demo gif below is just under the allowed size limit for an attachment (250KB)
Duration is almost 30 sec size 300 px (at the cost of quality of course)

Fred
Attachments
demo.gif
Demo gifenc-sel, low quality
(243.5 KiB) Downloaded 330 times
gifenc-sel.gz
gifenc-sel, with yad file-selector to select video, added low-quality checkbox
(remove fake .gz and make executable)
(2.13 KiB) Downloaded 214 times
gifenc-yad.png
gifenc-yad
(38.05 KiB) Downloaded 305 times
gifenc-yad.gz
Update 2018-01-25 gifenc-yad (remove fake .gz and make executable)
(2.01 KiB) Downloaded 197 times
gifenc.tar
New gifenc script (remove dummy .tar and make executable)
(382 Bytes) Downloaded 317 times
edit_processing-utilities.png
(29.68 KiB) Downloaded 622 times
edit_user_utilities.gif
(155.58 KiB) Downloaded 651 times
gifenc_5th-button.png
(14.53 KiB) Downloaded 624 times
Last edited by fredx181 on Thu 25 Jan 2018, 20:47, edited 7 times in total.

Post Reply