View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000303 | Cinelerra-GG | [All Projects] Bug | public | 2019-09-16 13:43 | 2019-12-12 21:25 |
Reporter | JacekJagosz | Assigned To | goodguy | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | OS | Solus | OS Version | ||
Product Version | 2019-08 | ||||
Target Version | Fixed in Version | 2019-10 | |||
Summary | 0000303: Cant find codec libvpx-vp9 - when using system libvpx | ||||
Description | TLDR: Build works with libvpx should be set to "yes", but not with "auto" which is the default in config.ac I'm the maintainer of Cinelerra-GG for Solus (independent rolling distro). Every time I try to render a video to vp9 I get the following error: int FFMPEG::open_encoder(const char*, const char*): cant find codec libvpx-vp9:/home/jacek/Desktop/test.youtube Initially I thought it was we used libvpx version 1.7.0, so I delayed updating cin untill we update that first. But even with 1.8.1 the problem persists. I happened with both FFMPEG 4.1.4 and now with 4.2.1. Package isn't static. You can find build process here (it uses default Solus macros): https://dev.getsol.us/source/cinelerra-gg/browse/master/package.yml No additional arguments configuring which libraries are used are passed during the build process. Does any of you know why that is? Maybe libvpx should be set to "yes" in config.ac by default? | ||||
Tags | No tags attached. | ||||
Waiting to mark closed to make sure there is no feedback and will close in a couple of days. | |
Thanks for reporting this as we did not recognize this problem. It led to the discovery that the System/Dynamic builds were not always getting the third-party packages built. Changes have been made to correct this. A GIT checkin with mods to repair this is now complete. Since we do not have access to a Solus system, if you encounter other problems, be sure to let us know. |
|
Olaf: thanks for the additional information "FFmpeg does not include VP9 by default". We now know what the problem is. What is especially interesting is that when we do a static build, ffmpeg DOES include VP9 by default. But the system build does not. Besides VP9, Opus is not there either which is used in a *.youtube render so there are a bunch more that have to be looked at. A fix is being worked now. |
|
(Small correction, but please read only afterwards, because that is negligible. I wrote "FFmpeg does not include VP9 by default", correct would be: "FFmpeg does not include libvpx by default". Without "libvpx" the ability to encode is missing.) |
|
My system libraries and those under thirdparty happen to have the same version number. (The "problem" has been known to me for a long time, but I don't use VP9, except to create icons for CGG's proxy.) What is important is that FFmpeg does not include VP9 by default: $ ./configure --help | grep vpx --enable-libvpx enable VP8 and VP9 de/encoding via libvpx [no] But because FFmpeg builds VP9 when CGG configure is called explicitly with switch "--enable-libvpx", it should be searched at this point: --enable-libvpx config.log:1094:BUILD_libvpx='1' config.log:1184:HAVE_libvpx='yes' build libvpx (auto): config.log:1102:BUILD_libvpx='0' config.log:1192:HAVE_libvpx='yes' Although "libvpx-dev" (1.8.1*) is installed in the system and "thirdparty/src/libvpx-1.8.1.tar.xz" exists, it is not automatically used. But because CGG relies on the presence of "libvpx" in several places, "build libvpx (yes)" should be used. |
|
It is not exactly clear which version is in the system (if any) and which version is in the build (if any). It looks like the ffmpeg configure probe failed for libvpx and that caused ffmpeg libavcodec.a (static) to be built without libvpx... which causes the error: "cant find codec libvpx-vp9" when the render is attempted with youtube format, ... maybe. Anyhow... you should look at /<path>/cinelerra-5.1/thirdparty/ffmpeg-4.2/ffbuild/config.log and locate the relevant problem in the libvpx probe. In my build, the config.log for this segment of config probes seems to begin with: check_pkg_config libvpx_vp8_decoder vpx >= 1.4.0 vpx/vpx_decoder.h vpx/vp8dx.h vpx_codec_vp8_dx This log shows the probe results in good detail, so the problem will probably be visible there. These lines are the requirements from thirdparty/ffmpeg-4.2/configure libvpx near line 6280 enabled libvpx && { .... } This tests for the libraries and header files needed to interface to the libvpx system libraries. I suspect that at least one of the prerequisites fails a config test, probably a missing file. If problems persist, please send both the config log and the build log. |
|
This probably also affects the creation of proxies. libvpx-vp9 seems to be the default codec for many extensions. | |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-09-16 13:43 | JacekJagosz | New Issue | |
2019-09-16 14:12 | Olaf | Note Added: 0002154 | |
2019-09-16 22:11 | PhyllisSmith | Note Added: 0002156 | |
2019-09-17 09:58 | Olaf | Note Added: 0002157 | |
2019-09-17 10:20 | Olaf | Note Added: 0002158 | |
2019-09-17 18:37 | PhyllisSmith | Note Added: 0002160 | |
2019-09-17 18:37 | PhyllisSmith | Assigned To | => goodguy |
2019-09-17 18:37 | PhyllisSmith | Status | new => assigned |
2019-09-22 03:27 | PhyllisSmith | Note Added: 0002166 | |
2019-09-22 03:28 | PhyllisSmith | Note Edited: 0002166 | View Revisions |
2019-10-06 18:10 | PhyllisSmith | Status | assigned => feedback |
2019-10-06 18:10 | PhyllisSmith | Note Added: 0002214 | |
2019-12-12 21:25 | PhyllisSmith | Status | feedback => closed |
2019-12-12 21:25 | PhyllisSmith | Resolution | open => fixed |
2019-12-12 21:25 | PhyllisSmith | Fixed in Version | => 2019-10 |