#36849 closed enhancement (fixed)
ffmpeg: fix dependencies, add dc1394 variant
Reported by: | devernay (Frédéric Devernay) | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.2 |
Keywords: | Cc: | jeremyhu (Jeremy Huddleston Sequoia) | |
Port: | ffmpeg |
Description
ffmpeg should depend on fontconfig: [0.11 relnotes] - drawtext video filter: fontconfig support
ffmpeg should not depend on dirac: [0.9 relnotes] native dirac decoder
also add dc1394 variant (requires a patch, because libraw1394 is not required and does only exist on linux)
Attachments (2)
Change History (9)
Changed 12 years ago by devernay (Frédéric Devernay)
Attachment: | Portfile-01-fixdeps.patch added |
---|
Changed 12 years ago by devernay (Frédéric Devernay)
Attachment: | ffmpeg-0.11-dc1394.patch added |
---|
comment:1 Changed 12 years ago by ccarey@…
comment:2 Changed 12 years ago by jmroot (Joshua Root)
Cc: | jeremyhu@… added |
---|---|
Owner: | changed from macports-tickets@… to devans@… |
comment:3 Changed 11 years ago by ctreleaven (Craig Treleaven)
Since there is an open ticket related to ffmpeg dependencies, I'll add to it:
I ran egall's port-depcheck.sh against a default install of ffmpeg (ffmpeg @2.1.1) with the following results:
port-depcheck.sh ffmpeg --- /var/folders/-A/-Ac1IVy2H9WLW1x5c9D7XU+++TI/-Tmp-//port-depcheck.sh.1003562.1x2Hcu 2013-12-10 10:04:04.000000000 -0500 +++ /var/folders/-A/-Ac1IVy2H9WLW1x5c9D7XU+++TI/-Tmp-//port-depcheck.sh.1003561.jIx29T 2013-12-10 10:03:59.000000000 -0500 @@ -1,24 +1,22 @@ XviD bzip2 -dirac +ffmpeg freetype -gmake +gmp gnutls lame libass libbluray +libiconv libmodplug libogg libopus libsdl libtheora libvorbis -libvpx +nettle openjpeg15 -pkgconfig schroedinger speex -texi2html x264 -yasm zlib
gmake, pkgconfig, texi2html and yasm are build deps and can be ignored.
dirac is listed as a depends_lib but there is no corresponding --enable-dirac in the configure flags?!? This codec doesn't seem to be widely used. Seems like it would not be harmful to enable it. The original reported noted ffmpeg now has a native decoder; presume this dependency is for the encoder side(?).
gmp and nettle are dependencies of gnutls but are linked directly by ffmpeg and therefore probably should be added to depends_lib. libiconv, too.
I don't know why libvpx isn't linked, it is enabled. I never use that codec so I didn't spend any time looking into the issue.
Anyway, a few items for consideration.
comment:4 Changed 11 years ago by dbevans (David B. Evans)
Status: | new → assigned |
---|
Some responses:
The dependency on dirac is outdated (dirac functionality is now provided solely by libschroedinger). Removed from ffmpeg, ffmpeg-devel in r116061, r116062 as part of the recent update to version 2.1.3.
As you mention gmp and nettle are dependencies of gnutls and are only used by ffmpeg as a consequence of specifying --enable-gnutls so the dependency on gnutls seems sufficient.
iconv on the other hand is a different story. It is optional but is used by ffmpeg if found and not explicitly disabled by --disable-iconv (we don't). It is generally installed because of the many other ports that depend on it, but not necessarily predictably, so either an explicit dependency or disabling it is in order to be certain. Will deal with this issue at the next version or revision bump.
Will also take a look at the 1394 issue. I visited this some time ago and ran into some problems but I don't remember why and enough time has passed that a relook is reasonable. Note that this only provides an input device as currently implemented so would probably add it as a variant if I can get it to work.
Port libvpx only provides a static library libvpx.a so it IS linked in, just not dynamically. Nothing to do here.
Thanks for your input and sorry for the delay in responding. Will leave this ticket open until the issues with iconv and libdc1394 are resolved one way or the other.
comment:5 Changed 11 years ago by dbevans (David B. Evans)
BTW, fontconfig support is currently not enabled so the dependency is not required. This can be added at the next update as well. Will do a full review of the currently available options and see what else may be missing that we can add.
comment:6 Changed 11 years ago by dbevans (David B. Evans)
r116084 ffmpeg, ffmpeg-devel
- added dependency on libiconv (conversion of arbitrary charsets to UTF-8 in subtitles, subtitle enabled codecs only)
- added dependency on and enabled fontconfig (allows specifying fonts by name rather than by absolute file path in filter drawtext)
- added +libdc1394 variant (allows IIDC-1394 frame grabbing from FireWire cameras)
This final item is not well tested so I have marked it experimental. It is also completely undocumented. However, by analogy with other indevs, something like this should work:
# Grab and show video from FireWire Device ffplay -f libdc1394 -i auto # Grab and save to MPEG file ffmpeg -f libdc1394 -i auto firewire.mpg
I'll give a try this weekend and would be interested in your experience good or bad.
However, I suggest we take that discussion to the macports-users email list rather than continue here.
comment:7 Changed 11 years ago by dbevans (David B. Evans)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
In
ffmpeg 1.0_1
’sconfigure
file, the drawtext video filter is dependent uponfreetype
rather than uponfontconfig
— see #36890.