News:

--

Main Menu

Testing ffmpeg4x

Started by Jan Gruuthuse, July 21, 2018, 06:39:51 AM

Previous topic - Next topic

Jan Gruuthuse

From https://github.com/mean00/avidemux2
* [new branch]      ffmpeg4x   -> origin/ffmpeg4x
Already up-to-date.

Has this become live? Just did pull git.

This branch is 14 commits ahead of master.
Or is this in progress to become master, and should I wait until Master = ffmpeg4x . Lost it for now

My build shows:
Avidemux v2.7.1 (180721_34fdf5673e4) and does match Master branch 34fdf5673e4?



eumagga0x2a

The ffmpeg4x branch includes my recent work on migrating Avidemux to FFmpeg 4.0.x just to prevent that it gets lost if my computer suffers a HDD crash or such. It should compile and most features should work (now including sound and VDPAU hw accel), but as of now, many project scripts generated with the current git master or releases would be incompatible due to changes in FFmpeg structures.

The purpose of the branch is to keep these changes off master for a while. It might be merged into master at a later point.

If you have a computer with Intel graphics (no NVIDIA graphics card) running Linux, you could help by providing feedback whether the libVA hw accel still works with the ffmpeg4x branch.

Jan Gruuthuse

#2
on Ubuntu amd-64 18.04 LTS when
git checkout ffmpeg4x
git branch
Quote* ffmpeg4x
---------

started build ends:

-- Configuring FFmpeg
CMake Error at ~/avidemux2/cmake/admFFmpegBuild_helpers.cmake:274 (MESSAGE):
  configure returned <1>
Call Stack (most recent call first):
  ~/avidemux2/cmake/admFFmpegBuild_native.cmake:54 (ADM_FF_BUILD_UNIX_STYLE)
  ~/avidemux2/cmake/admFFmpegBuild.cmake:16 (include)
  CMakeLists.txt:96 (include)


CMake Error at ~/avidemux2/cmake/admFFmpegBuild_helpers.cmake:275 (MESSAGE):
  configure output is <ERROR: nvenc requested, but not all dependencies are
  satisfied: ffnvcodec

 

  If you think configure made a mistake, make sure you are using the latest

  version from Git.  If the latest version fails, report the problem to the

  ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.

  Include the log file "ffbuild/config.log" produced by configure as this
  will help

  solve the problem.

  >
Call Stack (most recent call first):
  ~/avidemux2/cmake/admFFmpegBuild_native.cmake:54 (ADM_FF_BUILD_UNIX_STYLE)
  ~/avidemux2/cmake/admFFmpegBuild.cmake:16 (include)
  CMakeLists.txt:96 (include)


CMake Error at ~/avidemux2/cmake/admFFmpegBuild_helpers.cmake:276 (MESSAGE):
  An error occured
Call Stack (most recent call first):
  ~/avidemux2/cmake/admFFmpegBuild_native.cmake:54 (ADM_FF_BUILD_UNIX_STYLE)
  ~/avidemux2/cmake/admFFmpegBuild.cmake:16 (include)
  CMakeLists.txt:96 (include)


-- Configuring incomplete, errors occurred!
See also "~/avidemux2/buildCore/CMakeFiles/CMakeOutput.log".
See also "~/avidemux2/buildCore/CMakeFiles/CMakeError.log".
** Failed at cmakeZ**

Jan Gruuthuse

dpkg -l nvidia*-dev
QuoteDesired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                               Version                Architecture           Description
+++-==================================-======================-======================
ii  nvidia-cuda-dev                    9.1.85-3ubuntu1        amd64                  NVIDIA CUDA development files
un  nvidia-libopencl1-dev              <none>                 <none>                 (no description available)
ii  nvidia-opencl-dev:amd64            9.1.85-3ubuntu1        amd64                  NVIDIA OpenCL development files

eumagga0x2a

#4
FFmpeg 4.x requires nv-codec-headers for NVENC to be available. These are as it seems not yet "officially" (by Canonical or from the universe repo) packaged for Ubuntu. There are PPAs for that (this one for 18.04) or just install from git.

Jan Gruuthuse

Would this work with internal FFmpeg (avidemux)?
QuoteAt the moment these headers must be installed as well as FFmpeg from git to get access to nvenc and friends.

eumagga0x2a

It needs only the headers.

Jan Gruuthuse

OK, will look at this next days, time permitting.

Jan Gruuthuse

~/nv-codec-headers$
make
Quotesed 's#@@PREFIX@@#/usr/local#' ffnvcodec.pc.in > ffnvcodec.pc
sudo make install
Quotesed 's#@@PREFIX@@#/usr/local#' ffnvcodec.pc.in > ffnvcodec.pc
install -m 0755 -d '/usr/local/include/ffnvcodec'
install -m 0644 include/ffnvcodec/*.h '/usr/local/include/ffnvcodec'
install -m 0755 -d '/usr/local/lib/pkgconfig'
install -m 0644 ffnvcodec.pc '/usr/local/lib/pkgconfig'

~/avidemux2$
git branch
Quote* ffmpeg4x
  master
bash bootStrap.bash --deb

Quote-- Build files have been written to: ~/avidemux2/buildCore
** Failed at make, result in /tmp/logbuildCore**

Quotemake[2]: *** No rule to make target 'ffmpeg/build/libpostproc', needed by 'CMakeFiles/libpostproc'.  Stop.
make[2]: Leaving directory '~/avidemux2/buildCore'
CMakeFiles/Makefile2:203: recipe for target 'CMakeFiles/libpostproc.dir/all' failed
make[1]: *** [CMakeFiles/libpostproc.dir/all] Error 2

eumagga0x2a

I would need the full /tmp/logbuildCore, the excerpt you've posted doesn't contain the actual error.

Jan Gruuthuse


eumagga0x2a

Thank you. No idea ATM what is going wrong, will investigate later. Builds fine on Fedora 28.

Jan Gruuthuse

QuoteFFmpeg version of headers required to interface with Nvidias codec APIs.

Corresponds to Video Codec SDK version 8.1.24.

Minimum required driver versions:
Linux: 390.25 or newer
Windows: 390.77 or newer
installed from https://git.videolan.org/git/ffmpeg/nv-codec-headers.git

Jan Gruuthuse

ffmpeg -encoders 2>/dev/null | grep nvenc
Quote V..... h264_nvenc           NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc                NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_h264           NVIDIA NVENC H.264 encoder (codec h264)
V..... nvenc_hevc           NVIDIA NVENC hevc encoder (codec hevc)
V..... hevc_nvenc           NVIDIA NVENC hevc encoder (codec hevc)

eumagga0x2a

First of all, we won't find the NVENC header in /usr/local/include where it is installed by the Makefile in nv-codec-headers by default, please apply the attached patch.