weX and weav with scrox (weX dependency)

Audio editors, music players, video players, burning software, etc.
Message
Author
Pelo

pets installed on Puli, Puppy 3.8.3

#21 Post by Pelo »

pets installed on Puli, Puppy 3.8.3 . Puli had not any pAVrecord included for screen cast in its multimedia menu.
However my first tries were with Simple Screen Recorder (DPUP version) and were perfect.
And don't have any Slacko 5.6 in my Puppy OS jukebox excepted AMIpup.
MY first goal is to get a nice video about Puli. The second one is to teste new video tools, provided by devs fond of puppy, but fond of video too.
Attachments
wex.jpg
Many new options compared to pAVrecord
(70.26 KiB) Downloaded 465 times

Pelo

First try failed.

#22 Post by Pelo »

First try failed.. something wrong in my process... on check.
# wex
[2]+ Done gtkdialog -p SELECT_REGION_SPLASH --center
ffmpeg version 0.8.5-4:0.8.5-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers
built on Jan 24 2013 18:03:14 with gcc 4.6.3
*** THIS PROGRAM IS DEPRECATED ***

This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
Unrecognized option 'thread_queue_size'
Failed to set value '512' for option 'thread_queue_size'
Last edited by Pelo on Wed 07 Sep 2016, 12:56, edited 1 time in total.

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

#23 Post by mcewanw »

Here are the two basic steps for installation Pelo. Perhaps you missed number 2:

1. Install the following dotpets from the first post of this thread (be careful not to choose the wrong versions, but of course, use the latest if these have since been upgraded...):

wex-0.8.17.pet
weav-9.1.0.pet
scrox-0.8-17_32bit.pet

2. Start up Puppy Package Manager and search for giblib (which, along with its dependencies, is needed by scrox above). Note that you need to 'Search all repositories'. You should find file giblib-1.2.4 from slackware-14.0-salix, which proved to be enough for scrox needs in weX at least.

Choose to install that file, giblib-1.2.4 but use PPM method 'Examine dependencies' (i.e. press that button) because you should also fetch the associated imlib2 dependencies (i.e. once Imlib2 details also shown press: button "Download and install selected packages"). NOTE that I had a bit trouble getting PPM to fetch both giblib and the Imlib2 dependencies. I'm not sure why, but I managed in the end...

NOTE Pelo: If (and ONLY IF) the OS you are installing to has an old ffmpeg you also need to follow the final step 3 given in this post here:

http://www.murga-linux.com/puppy/viewto ... 081#922081

William

NOTE that you can check the scrox part (step 2) above worked okay by entering at a console:

Code: Select all

scrox -p -n
If it outputs your screen resolution to console then all is well with scrox, otherwise post any error reports here and I'll try and help you fix it.
github mcewanw

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

#24 Post by mcewanw »

fredx181 wrote:Hi William,

Finally took the time to test wex briefly (only default mkv output for now) on DebianDog Jessie.
Hi Fred,

I'm actually installing weX on my kids computer, which has DebianDogJessie64 on it. But I have the problem that the ffmpeg I have on there (I'm not sure where I fetched it but its saved to the system) doesn't understand the newer option -thread_queue_size and maybe not asyncts either. That's not good cos without these advances webcam embedding doesn't seem to work. I'm just wondering how to get a newish ffmpeg for that DDJessie64?

I'm also wondering if you were using DDJessie32 or 64 and if your ffmpeg worked okay with default settings (including -thread_queue_size in audio_in.plug and video_in.plug? Presumably webcam embedding also worked for you then?

Hope you can guide me to finding a better ffmpeg/avconv for DDJessie64 that will understand -thread_queue_size and asyncts since my son wants to embed webcam in the screencasts he plans to make.

William

EDIT: Forget it. I had libav-tools transitional installed. I purged that and then apt-get install ffmpeg and that brought me ffmpeg version 3.0.2-4 from jessie-backports, which is fine. Note well that I used the standard weX deb file, not the special one needed for FatDog64 - that's important cos FatDog runs ffmpeg in child threads so kill/stop mechanism in FatDog weX is slightly different to account for that.

Note also that I used the 64bit version of scrox. With both weX and weav I had to change the Debian control files to be amd64 instead of i386 to get the install deb right click to work (i.e. I rebuilt the debs to amd64 architecture before installing)
github mcewanw

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

#25 Post by mcewanw »

Actually, I can't get weX to work so well with DDJessie64 with the ffmpeg jessie-backports gave me. I'm getting Alsa buffer xrun early errors which are causing audio and webcam video to become out of sync when combining all three streams: audio, X11, and webcam. I don't get that problem in XenialDog32 where I can use all three streams with good results and audio/video keeping in sync. As far as I recall, weX also worked fine with embedded webcam in FatDog64 but I'd have to double-check that.

audio plus X11 works fine though - but nice to be able to embed webcam whilst keeping audio sync. I suspect it is a kernel or driver issue. Still wondering, Fred, if your system and DD Jessie install will embed webcam and keep audio sync or not (is it 64bit or 32bit DDJessie?).

William
github mcewanw

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

#26 Post by fredx181 »

Hi William,

I tested on DD-jessie 32 bit with installed ffmpeg from deb-multimedia, version 10:2.6.9-dmo1
EDIT: I think you have to enable it (uncomment deb-multimedia line) in sources.list on DD64.
Changing thread_queue_size to 768 didn't help.
I can't test webcam, so unchecked it, for the rest defaults (mkv, mp3 etc)

I found something interesting: when using size 832x480 all is fine but with 816x480 I get the out-of-sync video as I described earlier (just found out by a little experimenting, using fixed-size).

Also I notice excessive cpu usage from Xorg when using 816x480 (5x more than with 832x480) (maybe that's part of the problem?).

EDIT: BTW I have:
Processor 2x Intel(R) Core(TM)2 Duo CPU T8100 @ 2.10GHz
Memory 2063MB
(probably very much the same as yours)

EDIT2: did the same on XenialDog (experiment with different sizes as above, no issue at all, so...
Is it the ffmpeg version from Debian-multimedia or.. something else ?

EDIT3: mmm.. strange, no problem also on DD64, tried to reproduce doing the same I did on jessie 32 bit version, but all fine!
To install from deb-multimedia it's required to do this:

Uncomment deb-multimedia.org line in /etc/apt/sources.list, so will be be like this:

Code: Select all

#Debian Multimedia
deb ftp://ftp.deb-multimedia.org jessie main non-free
Remove these lines from /etc/apt/preferences
(was a mistake to add that, will be one of the fixes in next ISO release):

Code: Select all

Package: *
Pin: origin *.debian.org
Pin-Priority: 500


Package: *
Pin: origin *.deb-multimedia.org
Pin-Priority: 1
Then:

Code: Select all

apt-get update # gives warning about deb-multimedia not trusted, therefore do next:
apt-get install deb-multimedia-keyring -y
apt-get update # now warning should be gone
apt-get install ffmpeg
EDIT4: William, better ignore the problem I have on DD-Jessie-openbox_xfce 32 bit, because on every other install I tested (Jwm-jessie version from Toni, Debian official full install, DD64 and XenialDog) it works without problems... so nothing wrong with your program I'd say!

So, I have to find out what's so different with openbox_xfce version that are causing these problems.

Fred

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

#27 Post by fredx181 »

William, wait!.. don't go away yet.. :)

Tested wex more and I think it's one of the better screencast programs.

Not easy though to find the right ffmpeg/avconv version (supporting asyncts filter or/and thread_queue_size)

Searching for a static ffmpeg build I found:
http://distro.ibiblio.org/puppylinux/pe ... static.pet
And from:
https://johnvansickle.com/ffmpeg/

Both support thread_queue_size but not asyncts filter.

Update:
-----------------------------------------------
Here's a static ffmpeg I build myself with configure option --enable-avresample , this way the asyncts filter works:
ffmpeg.tar.gz
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 with included new ffmpeg and changed in/etc/wex/plugins/audio_in.plug to:

Code: Select all

ffmpegFilter_Complex0="-filter_complex asyncts"
(as it is default)
-----------------------------------------------
Heres's a portable appimage 'wex-portable' I made including the ffmpeg-static from ibiblio: EDIT: now with self compiled ffmpeg, see above
Extract wex-portable.tar.gz and run wex-portable
https://drive.google.com/file/d/0ByBgCD ... sp=sharing size: 12MB

Changed to this in /etc/wex/plugins/audio_in.plug

Code: Select all

ffmpegFilter_Complex0="" EDIT: Now it is: ffmpegFilter_Complex0="-filter_complex asyncts"
ffmpegAudioIn0="-thread_queue_size 512 -f $audiosystem $channels_arecord $asamplerate -i $plughw"
And made some changes in the wex and weav scripts (only for using relative paths - e.g. ./local/share/pixmaps and ../etc - instead of absolute).

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

The (static) ffmpeg binary from Wex-portable/usr/bin directory can be moved to /usr/bin or /usr/local/bin) (to be able to use ffmpeg system wide).

Tested and working well on DebianDog-Jessie 32-bit and XenialDog. (although didn't test webcam capture)
Doesn't work well on Wheezy (scrox requires (at least?) GLIBC version 2.15, wheezy has 2.13)

Question: Would you mind sharing the source code of scrox ? Then I could try to compile for wheezy. (or for any other older Puppy maybe)
Thanks.

Fred
Last edited by fredx181 on Tue 13 Sep 2016, 11:41, edited 2 times in total.

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

#28 Post by mcewanw »

fredx181 wrote:William, wait!.. don't go away yet.. :)

Tested wex more and I think it's one of the better screencast programs.

Not easy though to find the right ffmpeg/avconv version (supporting asyncts filter or/and thread_queue_size)
Yeah, I don't want to boast, but with the right ffmpeg, weX is pretty interesting. However... I do think it is very important to find/use a version of ffmpeg that also supports asyncts (such as that in your great XenialDog) - that is needed to pretty much guarantee audio/video sync and maybe necessary for webcam embedding to work in sync best too. (EDIT: I have a feeling the kernel used can currently be an issue too, since weX works better with webcam in XenialDog than in XenialPup, even though I think same ffmpeg is used? - anyway, these are not problems in weX itself, just need the best ffmpeg etc combination).

You should buy a wee external webcam Fred - just a few dollars and good for testing. Personally I think embedded webcam is a big plus over current SSR program (though it will no doubt include that functionality later too).

As for scrox, yes I know, I haven't created the source code patches yet and it will be important to use the latest Ubuntu scrot source code (which is what I use in my compiles) with all the patches needed for that applied. My family arrives shortly so I don't have time to look into that just now - quite a number of scrot source code parts involved and I haven't made patches for ages. I will certainly be releasing these patches later (after my break) - I want to review the sources before releasing patches just in case I want to add any extras for anything else, but what is done already will remain stable, so don't worry about that. In the meantime, I have DebianDog wheezy on one of my computers, so compiled version of scrox for that in a couple of minutes. Please find it attached.

I actually first thought about patching scrot for this purpose over two years ago - one of my better ideas I think - but I was lazy getting round to it and my C had become rusty. To be honest, my plan was to withdraw weX and the rest if there was insufficient interest - the Pelo passenger attitude annoyed me so much in terms of doing development work. In fact, I had decided that if weX didn't attract more than 50 downloads in the first month I would withdraw it altogether and give up publishing such work altogether - SSR is a good program and that no doubt limits interest in weX a lot, though I think it is good to have a scripted alternative. So if anyone apart from you finds it useful, they can probably thank you for requesting scrox source and so on!

Anyway, hope the DDwheezy scrox binary works for you just now - I could upload a DD Squeeze alternative is that made any difference since I have that OS on same computer. Really think an ffmpeg with asynct and -thread_queue_size should be found, even if needed specially compiled. I would do that after my break, but with the limited interest in weX thus far, I don't really find the effort worthwhile. But glad you find the program(s) useful.

Oh, by the way, remember I mentioned gpicview didn't run animated gifs on XenialDog. I have since found a GREAT wee commandline image viewer that works perfectly also with animated gifs (including properly fullscreening them - even working gpicview didn't do a good job of that). The program I'm refering to is called sxiv, and the main reason I find it so great is that it also relies on underlying imlib2, so with scrox (or scrot) installed its a tiny upload but with that great functionality. I'm actually using it to run slideshows alongside mplayer with the following code (including sxiv options for fullscreen and 5sec delay between slides) entered into weav program combobox list (or can use modifying code in DoMyFile program):

Code: Select all

xterm -bg "#fd0" -e mplayer "${B}" | sxiv -a -f -s f -S 5 ${C}/*
William

EDIT: As time goes by, the ffmpeg issue will vanish of course, since old machines die and most everyone will have ffmpeg that support asyncts and -thread_queue_size. I actually designed weX with that 'plugin' code so that it could be easily user-upgraded should any new ffmpeg options come along without having to modify the main weX code. I partly did that in case I don't develop much more code so that it have a long potential lifespan and is flexible (in conjunction with the user-selectable external app capability).
Attachments
scrox.tar
scrox for DebianDog wheezy (or other OS that uses old GLIBC)
Remove the dummy .tar and place in /usr/local/bin
(23.71 KiB) Downloaded 237 times
github mcewanw

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

#29 Post by mcewanw »

fredx181 wrote: https://johnvansickle.com/ffmpeg/

Both support thread_queue_size but not asyncts filter.
I gave the above static ffmpeg a quick try (without asyncts) and yes it did work fine with audio and X11 streams (audio and video kept in sync) but with embedded webcam stream also ticked, audio didn't work properly (especially sync, but generally rubbish).

On the other hand the libav-tools.sfs I made in XenialDog with ffmpeg2sfs utility works great also with webcam stream included with audio and X11 - all video and audio keep in sync. I believe the ffmpeg it downloaded came from:

deb http://nl.archive.ubuntu.com/ubuntu/ xenial universe

Definitely both asyncts and thread_queue_size options are essential for best (pretty much perfect) results as on XenialDog.

Code: Select all

root@xenial:~# ffmpeg -i
ffmpeg version 2.8.6-1ubuntu2 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 5.3.1 (Ubuntu 5.3.1-11ubuntu1) 20160311
  configuration: --prefix=/usr --extra-version=1ubuntu2 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/i386-linux-gnu --incdir=/usr/include/i386-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv --disable-i686
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100

William

EDIT: Note to XenialDog users - to activate libav-tools.sfs you right-click it with mouse in pcmanfm and choose option "Activate module" (don't simply click the file, that is for editing the sfs... - I sometimes make that mistake!).
github mcewanw

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

#30 Post by fredx181 »

Thanks for the wheezy scrox, William, and the info.
Btw, works on jessie also, maybe even on Xenialdog , didn't test yet.
(mostly old works ok on new(er), but not the other way around)

Now trying to compile static ffmpeg with option --enable-avresample (needed for asyncts filter to work), getting there soon I think... my 5th try now, but not satisfied yet :?

Get back later..

Fred

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]


Post Reply