Project

General

Profile

Feature #4588

allow building ffmpeg-static with "foreign" ffmpeg

Added by C vH about 7 years ago. Updated about 7 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
2017-09-12
Due date:
% Done:

0%

Estimated time:

Description

Cross compiling Tvheadend with FFmpeg-static basically doesn't work.

Hopefully I didn't overlooked something fundamental here.

We tried a lot but didn't get it working due multiple problems at every part/step (opus, x265, ffmpeg ...).

They easiest solution I can think of: allow ffmpeg-static builds without the need to build ffmpeg inside of the Tvheadend build and instead use the normal packages that are already working at crosscompile toolchains (obviously these packages need to include everything Tvh needs). So basically allow Tvheadend to behave like every other program out there that has extern dependencies.

For different platforms (ARM, aarch64 ....) and even for different devices you need different quirks and optimisations - basically too much to handle it at Tvheadend. The crosscompile toolchains handle this already today.

For 4.2 we need to carry a rather hacky patch but this does not even work for arm.
Normal ffmpeg with x265 etc (made at the crosscompile toolchain) compiles without any problem for all archs.

So any improvement at this side would be very helpful especially with the new vaapi and omx support.

History

#1

Updated by Jaroslav Kysela about 7 years ago

I probably do miss the point, but you can use external ffmpeg libraries. The tvh's static build can be disabled with '--disable-ffmpeg_static' but the libav option is set to auto by default, so the configure script tries to find ffmpeg libraries using pkg-config. If you compile your ffmpeg libraries in the static version only, everything should be fine. But note that there are some patches which 'fixes' some ffmpeg issues in support/patches directory (tvheadend). Without these patches some things might not be functional.

#2

Updated by C vH about 7 years ago

Tx for your pointer, we had some misinterpretations at our side.
We thought that libx264_static options etc are saying that x264 should be static (what we need) and otherwise shared is used - but it basically says that tvh should build it. After getting this right We could figure out our problems :)
We have 2 different ffmpeg at our toolchain what creates some problems that masked our misconfiguration of the Tvh build.
Finally we are able to drop every patch we had for Tvh and everything works like desired (buildwise).

:)

#3

Updated by Jaroslav Kysela about 7 years ago

  • Status changed from New to Rejected

OK. Everything seems fine. Closing as resolved.

Also available in: Atom PDF