Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 517890 - media-video/ffmpeg - add USE=vidstab
Summary: media-video/ffmpeg - add USE=vidstab
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal with 1 vote (vote)
Assignee: media-video herd
URL:
Whiteboard:
Keywords: PullRequest
: 532316 (view as bug list)
Depends on: 675190 517892
Blocks:
  Show dependency tree
 
Reported: 2014-07-23 19:04 UTC by Reuben Martin
Modified: 2019-02-20 15:21 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
media-video/ffmpeg-2.8.8-r1 config.log (config.log,469.63 KB, text/plain)
2016-10-19 02:59 UTC, Kalin KOZHUHAROV
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Reuben Martin 2014-07-23 19:04:38 UTC
Use flag would activate --enable-libvidstab configuration option.

http://public.hronopik.de/vid.stab/
https://github.com/georgmartius/vid.stab

Reproducible: Always
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2014-12-12 10:13:10 UTC
*** Bug 532316 has been marked as a duplicate of this bug. ***
Comment 2 Kalin KOZHUHAROV 2015-08-18 16:46:36 UTC
I decided to give a stab, pun intended, at this today...

Long story short, it does require external library, not currently in portage and without stable (=package) release management (so only git).

vid.stab library  https://github.com/georgmartius/vid.stab

Well, I added the library and fixed ffmpeg to use it, see my pkalin overlay, feel free to test, works for me.

https://github.com/thinrope/pkalin/commit/a59ec0ae0cd96683e58430ef98040c2ddb9d6797

Revbump ffmpeg-2.7.2 to add support for vid.stab

Adding new (git) ebuild for vidstab.

Compile tested with media-video/ffmpeg-2.7.2-r1 and
media-video/vidstab-0.98b
Comment 3 gentoo 2016-02-27 17:12:54 UTC
I've tested it with media-video/ffmpeg-2.8.5
and media-video/vidstab-0.98b

Worked perfectly well.
Would be nice to have in portage
Comment 4 DrSlony 2016-02-27 17:24:44 UTC
I too would love to have this functionality, which is becoming increasingly useful and necessary as video recording devices become smaller, more portable but also more susceptible to shake.
Comment 5 DrSlony 2016-10-17 19:44:45 UTC
I just compiled vidstab from https://github.com/thinrope/pkalin/blob/master/media-video/vidstab/vidstab-9999.ebuild
It went fine, put a bunch of header files in /usr/include/vid.stab/ and created /usr/lib64/pkgconfig/vidstab.pc

I looked at Kalin's ffmpeg-2.7.2.ebuild changes and did the same to ffmpeg-2.8.8.ebuild
When I run
# USE="libvidstab" emerge -v =media-video/ffmpeg-2.8.8
it fails with
ERROR: vidstab not found using pkg-config

build.log is here https://paste.pound-python.org/show/JyNHOhtkxTJqGZIb6E1l/

Could anyone help out, why is pkg-config not finding /usr/lib64/pkgconfig/vidstab.pc ?
Comment 6 DrSlony 2016-10-17 20:18:31 UTC
I had vidstab in media-video. I changed it to media-libs, re-emerged, and now ffmpeg pkg-config picks it up.
Comment 7 Kalin KOZHUHAROV 2016-10-18 04:18:56 UTC
For some reason (=bug) I had taken the fixed ffmpeg from my overlay, really sorry about that.

I just updated it (2.8.6 and 2.8.8), haven't bothered with 3.1.4 and 9999, hopefully this will get picked up by a real dev instead.

I added -r1 ebuilds for good measure and haven't played with the KEYWORDS (and repoman complains about lots of stuff on other arches).
https://github.com/thinrope/pkalin/commit/2a2a13578f79f7eea31a1c49f2af34d61d4bba3b

Additionally I filed a request upstream to fix their release practices and have a proper version.

https://github.com/georgmartius/vid.stab/issues/38

I have no preference between media-video and media-libs, always confuse those categories, so I kept my original media-video/libvidstab for now. Any good reason/definition which is the right category?
Comment 8 Kalin KOZHUHAROV 2016-10-18 20:05:28 UTC
(In reply to Kalin KOZHUHAROV from comment #7)
> I have no preference between media-video and media-libs, always confuse
> those categories, so I kept my original media-video/libvidstab for now. Any
> good reason/definition which is the right category?
>

After a bug filed to me on GitHub and some thinking, I decided to move vidstab to media-libs category.

https://github.com/thinrope/pkalin/commit/1b18766f93caa5bcf960ebed5b052bb163faafac

Apparently this bug is running along #517892, I would rather close one as a duplicate to the other.
Comment 9 DrSlony 2016-10-18 21:10:41 UTC
Yesterday I thought it compiled fine, but when I tried running ffmpeg with the vidstab filter (vidstabdetect/vidstabtransform) ffmpeg didn't find it. In doubt, I tried recompiling both. Today I removed ffmpeg and vidstab, downloaded both from your repo (the new versions with vidtsab in media-libs), and again I get "ERROR: vidstab not found using pkg-config"...

Last few lines of ffmpeg's config.log:
  check_pkg_config vidstab >= 0.98 vid.stab/libvidstab.h vsMotionDetectInit
  pkg-config --exists --print-errors vidstab >= 0.98
  Package vidstab was not found in the pkg-config search path.
  Perhaps you should add the directory containing `vidstab.pc'
  to the PKG_CONFIG_PATH environment variable
  No package 'vidstab' found
  ERROR: vidstab not found using pkg-config

This line looks specifically suspicious:
  pkg-config --exists --print-errors vidstab >= 0.98

When I run it in a terminal I get:
  pkg-config --exists --print-errors vidstab >= 0.98
  Package 0.98 was not found in the pkg-config search path.
  Perhaps you should add the directory containing `0.98.pc'
  to the PKG_CONFIG_PATH environment variable
  No package '0.98' found

If I replace "0.98" with "vidstab" in that command, it runs without any output, returns success.
Comment 10 DrSlony 2016-10-18 21:58:51 UTC
I tried several things with no success. Could you confirm that this works on your system?
  USE="libvidstab" emerge -v =media-video/ffmpeg-2.8.8-r1

And could you upload your config.log from ffmpeg?
  find /var/tmp/portage/media-video/ffmpeg-2.8.8-r1/ -iname config.log

You might need to ctrl+c the ffmpeg emerge once it starts compiling, otherwise config.log will probably be deleted.
Comment 11 Kalin KOZHUHAROV 2016-10-19 02:59:13 UTC
Created attachment 450732 [details]
media-video/ffmpeg-2.8.8-r1 config.log

Well, first I only tried the stable in portage 2.8.6 and it compiled OK.
I reconfirmed now that it works as expcted with some random GoPro H4B video:

ffplay -i GP010679.MP4  -vf vidstabdetect=shakiness=5:show=1

(In reply to DrSlony from comment #10)
> I tried several things with no success. Could you confirm that this works on
> your system?
>   USE="libvidstab" emerge -v =media-video/ffmpeg-2.8.8-r1
> 
After uninstalling old vidstab, adding keywords, this ran OK:
USE="libvidstab" FEATURES="keeptemp keepwork" emerge -v =media-video/ffmpeg-2.8.8-r1

I reran the ffplay command and it still works OK.

> And could you upload your config.log from ffmpeg?
>   find /var/tmp/portage/media-video/ffmpeg-2.8.8-r1/ -iname config.log
> 
> You might need to ctrl+c the ffmpeg emerge once it starts compiling,
> otherwise config.log will probably be deleted.
See attached. There are no errors about vidstab in it.

Something in your build environment? What arch? automake?

Old .h crap remaining, here is mine?

$ find /usr/include/ |egrep vid\.*stab
/usr/include/vid.stab
/usr/include/vid.stab/transformfloat.h
/usr/include/vid.stab/vidstabdefines.h
/usr/include/vid.stab/transformtype_operations.h
/usr/include/vid.stab/vsvector.h
/usr/include/vid.stab/motiondetect_internal.h
/usr/include/vid.stab/transformtype.h
/usr/include/vid.stab/transform_internal.h
/usr/include/vid.stab/libvidstab.h
/usr/include/vid.stab/serialize.h
/usr/include/vid.stab/transformfixedpoint.h
/usr/include/vid.stab/motiondetect.h
/usr/include/vid.stab/transform.h
/usr/include/vid.stab/localmotion2transform.h
/usr/include/vid.stab/motiondetect_opt.h
/usr/include/vid.stab/boxblur.h
/usr/include/vid.stab/frameinfo.h

I have fully recompiled (about 1K packages) my system several times (performance testing), so currently all is up to date. Here are the USEflags just in case:

     Installed versions:  2.8.8-r1(0/54.56.56)^d[1](2016-10-19T11:46)(X aac aacplus alsa amr amrenc bluray bzip2 cdio encode fontconfig gnutls gpl gsm hardcoded-tables iconv jpeg2k libass libvidstab lzma modplug mp3 network openal opengl openssl opus postproc sdl speex theora threads truetype v4l vaapi vorbis vpx wavpack webp x264 x265 xvid zlib -altivec -armv5te -armv6 -armv6t2 -armvfp -bs2b -celt -cpudetection -debug -doc -examples -faac -fdk -flite -frei0r -fribidi -gme -iec61883 -ieee1394 -jack -ladspa -libcaca -libressl -librtmp -libsoxr -libv4l -mipsdspr1 -mipsdspr2 -mipsfpu -neon -oss -pic -pulseaudio -quvi -samba -schroedinger -snappy -ssh -static-libs -test -twolame -vdpau -xcb -zvbi ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="64 -32 -x32" CPU_FLAGS_X86="avx avx2 fma3 mmx mmxext sse sse2 sse3 sse4_1 sse4_2 ssse3 -3dnow -3dnowext -fma4 -xop" FFTOOLS="aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher")
Comment 12 Kalin KOZHUHAROV 2017-05-30 09:22:21 UTC
Some progress here:
* vidstab fixed the versioning, now we have 1.1.0 out
* current stable ffmpeg is 3.2.4

I updated my pkalin[1] overlay and removed the older cruft.

media-video/ffmpeg-3.2.4-r2 and media-libs/vidstab-1.1.0 work fine (compile & run) on my machine.

[1] https://github.com/thinrope/pkalin/
Comment 13 Kalin KOZHUHAROV 2017-10-02 23:41:45 UTC
With vidstab working fine (in my overlay[1], on amd64), the vanilla stable ffmpeg-3.3.4.ebuild needed just 2 lines[2] `git diff e36cdf7..2d00a45` :-)
 
I updated my pkalin[1] overlay appropriately.

media-video/ffmpeg-3.3.4-r1 and media-libs/vidstab-1.1.0 work fine (compile & run) on my machine.

[1] https://github.com/thinrope/pkalin/
[2] https://github.com/thinrope/pkalin/commit/2d00a459e3308f44d0c22223f51bef1e5f06da40
Comment 14 Kalin KOZHUHAROV 2017-11-14 13:00:25 UTC
Updated to recently stable ffmpeg-3.3.5 (as -r1) :-)
 
I updated my pkalin[1] overlay appropriately.

[1] https://github.com/thinrope/pkalin/
Comment 15 Larry the Git Cow gentoo-dev 2019-02-20 15:21:46 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=473c374441108c1dee3cc752fcad3ece19be8209

commit 473c374441108c1dee3cc752fcad3ece19be8209
Author:     Kalin KOZHUHAROV <me.kalin@gmail.com>
AuthorDate: 2018-05-15 12:06:23 +0000
Commit:     Craig Andrews <candrews@gentoo.org>
CommitDate: 2019-02-20 15:21:38 +0000

    media-video/ffmpeg: add USE=vidstab
    
    Closes: https://bugs.gentoo.org/517890
    Closes: https://bugs.gentoo.org/675176
    
    Signed-off-by: Kalin KOZHUHAROV <kalin@thinrope.net>
    Signed-off-by: Kalin KOZHUHAROV <me.kalin@gmail.com>
    Closes: https://github.com/gentoo/gentoo/pull/10810
    Signed-off-by: Craig Andrews <candrews@gentoo.org>

 media-video/ffmpeg/ffmpeg-9999.ebuild | 3 ++-
 media-video/ffmpeg/metadata.xml       | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)