Package Details: tvheadend-git 4.3.r2300.g1212b94-1

Git Clone URL: https://aur.archlinux.org/tvheadend-git.git (read-only, click to copy)
Package Base: tvheadend-git
Description: TV streaming server and DVR
Upstream URL: https://tvheadend.org/
Keywords: dvb iptv pvr streaming tv
Licenses: GPL3
Conflicts: tvheadend
Provides: tvheadend
Submitter: zman0900
Maintainer: willemw
Last Packager: willemw
Votes: 28
Popularity: 0.000397
First Submitted: 2015-08-10 20:59 (UTC)
Last Updated: 2024-03-17 09:31 (UTC)

Pinned Comments

francoism90 commented on 2021-03-21 14:16 (UTC) (edited on 2021-03-21 14:16 (UTC) by francoism90)

Warning: if you have previously used this package, you need to reinstall! Sorry for introducing breaking changes, but hopefully the introduced changes will provide a better experience for most users. :)

Backup your configs (if needed) before performing the upgrade!

Changes:

  • TVHeadend will be installed to /var/lib/tvheadend instead of /usr/share/tvheadend
  • Package will create the system user tvheadend (member of group video) with config files stored in /etc/tvheadend, it will not use a home directory anymore.
  • By using sysusers.d and tmpfiles.d permissions should be easier to manage.
  • tvheadend.service now includes -C by default.
  • Added some missing deps

If you have any questions or suggestions, please let me know. :)

luciferin commented on 2017-04-06 14:01 (UTC) (edited on 2019-08-14 12:21 (UTC) by luciferin)

I started up a wiki page for Tvheadend. Input and help is welcome.

https://wiki.archlinux.org/index.php/Tvheadend

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 .. 16 Next › Last »

Wild_Penguin commented on 2022-02-25 16:39 (UTC)

@cgirard,

Only thing I can think of is that the package could be missing some dependencies. Does it build if you don't build inside a chroot?

I'm not the maintainer of this package nor tvheadend. However it does compile with current ffmpeg4.4 here. Just to make sure you have made all changes correctly, here is the complete patch with the changes I'm using currently (note whitespace might not be preserved, so you might need to apply some parts by hand and update the checksums - I noticed there is at least one trailing space in the ffmpeg4.4 moving patch):

diff --git a/PKGBUILD b/PKGBUILD
index 66b3c8c..559bdcb 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@

 _gitname='tvheadend-git'
 pkgname=tvheadend-git
-pkgver=4.3.r1947.gdbaa0f850
+pkgver=4.3.r2009.g1295dd2be
 pkgrel=1
 pkgdesc="TV streaming server for Linux"
 arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
@@ -44,17 +44,26 @@ source=(
   tvheadend.service
   tmpfile.conf
   user.conf
+  configffmpeg.patch
 )
 sha512sums=('SKIP'
             'd29662ee47f2d0da98d444819f730a8c487999454d60d7397b0f67068300ab5111ffce18befc9fdef5ff8fa1925213716837ea44808fb934197e4a56f98de8a7'
             '1080c8a2530d1f16ab5304cdd81c9c9da23b281e44a4874f4921905c843d876831214af481f9be91a74291ed4a6a10684dbdfb8f926b51bbb6895b92d493b201'
-            '5e0475cfe1f915bd3269ba3e9e0ca6cc7e492988bfd4f1feafcbbd3e8b0276c228f0b08a4116f3213d12c0ea940eff0dc71601a6e6ddcda934964cf51a665539')
+            '5e0475cfe1f915bd3269ba3e9e0ca6cc7e492988bfd4f1feafcbbd3e8b0276c228f0b08a4116f3213d12c0ea940eff0dc71601a6e6ddcda934964cf51a665539'
+            'ff61d594db210fc8413edd900fc9e01705a01a35ac0c225b2bb3bdf5beca088b13c021ade08d61dee58ff2e5a8e73fc8eb042033ccdd55f3a8573f64e5eec6d4')

 pkgver() {
   cd "${srcdir}/${_gitname}"
   git describe --long | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
 }

+prepare() {
+  # cd "$pkgname-$pkgver"
+  cd "${srcdir}/${_gitname}"
+  patch --forward --input="${srcdir}/configffmpeg.patch"
+
+}
+
 build() {
   cd "${srcdir}/${_gitname}"

diff --git a/configffmpeg.patch b/configffmpeg.patch
new file mode 100644
index 0000000..03c2b14
--- /dev/null
+++ b/configffmpeg.patch
@@ -0,0 +1,10 @@
+--- configure.old      2022-02-21 01:18:56.172209777 +0200
++++ configure  2022-02-21 01:19:37.482835172 +0200
+@@ -639,6 +639,7 @@
+   if enabled_or_auto libav; then
+     has_libav=true
+     has_resample=false
++      export PKG_CONFIG_PATH=/usr/lib/ffmpeg4.4/pkgconfig/
+ 
+     check_pkg libavfilter   ">=6.47.100"  || has_libav=false
+     check_pkg libswresample ">=2.1.100"   && has_resample=true

cgirard commented on 2022-02-24 13:29 (UTC)

@Wild_Penguin: even with the patch (and the dep switch from ffmpeg to ffmpeg4.4) build fails for me in a clean chroot. It goes a little further but fails on the linking phase with errors like this:

src/transcoding/codec/codec.c:66:17: error: type of _tvh_codec_vaapi_vp9_ does not match original declaration [-Werror=lto-type-mismatch] 
   66 | extern TVHCodec tvh_codec_vaapi_vp9; 
      |                 ^                           
src/transcoding/codec/codecs/libs/vaapi.c:351:15: note: type _struct TVHVideoCodec_ should match type _struct TVHCodec_ 
  351 | TVHVideoCodec tvh_codec_vaapi_vp9 = {           
      |               ^                                     
src/transcoding/codec/codecs/libs/vaapi.c:351:15: note: _tvh_codec_vaapi_vp9_ was previously declared here  
src/transcoding/codec/codecs/libs/vaapi.c:351:15: note: code may be misoptimized unless _-fno-strict-aliasing_ is used 

Any idea?

Wild_Penguin commented on 2022-02-23 16:03 (UTC) (edited on 2022-02-23 16:03 (UTC) by Wild_Penguin)

Indeed there is no /usr/include/ffmpeg4.4 if only ffmpeg is installed, but note that there is another package named ffmpeg4.4 in extra (to which I linked previously, trying to make the point clear).

Indeed using static ffmpeg also works, but I believe most distributions don't recommend using static libraries and I believe I understand why (but, this being AUR, I don't think it really matters what users do or what is in the PKGBUILD)...

I don't know the people behind tvheadend (and programming only superficially), but the fact being their build system uses static libraries per default, is probably exactly because they don't want to be updating the code base to support the latest stuff. As such I don't believe any plans to use ffmpeg5 are yet there - but I could be totally wrong. What you (/we) could do is make an issue on the upstream git.

GeneArch commented on 2022-02-22 19:11 (UTC) (edited on 2022-02-22 19:25 (UTC) by GeneArch)

ffmpeg woes here as well In order to use hw transcoding with VAAPI i need rebild ffmpeg such as ffmpeg-intel-full-git.

Looks like tvheadend only works with ffmpeg 4.4 and not 5.x. e.g. configure ; make works configure --disable-ffmpeg_static --enable-ffmpeg fails as others have noted below.

Upon closer inspection it may be the internal ffmpeg build detects vaapi with older ffmpeg. However be interesting to know if there is any work towards using new 5.x.

However - to move forward we need tvheadend to work with ffmpeg 5.x - Anyone know if there is a path forward on this?

glenb77 commented on 2022-02-22 10:34 (UTC) (edited on 2022-02-22 17:07 (UTC) by glenb77)

The change from Wild_penguin did not work for me. I had no /usr/lib/ffmpeg4.4 directory at all after upgrading to ffmpeg 5. What did work was using static libraries by changing the PKGBUILD to make the ffmpeg, libx264, and libx265 static, taking away the --disable_static in front of each. it compiled after that. before that alteration i had build error.

Wild_Penguin commented on 2022-02-20 23:34 (UTC) (edited on 2022-02-21 10:16 (UTC) by Wild_Penguin)

Hi again!

The build system of tvheadend is not looking for the older version in the right place, and that is the problem. It finds the versions from ffmpeg-5 (despite ffmpeg4.4 being installed).

I'm not familiar with writing configure scripts nor with pkg-config that well, and I'm not sure where the relevant documentation is. However, making this change to the configure script:

--- configure.old       2022-02-21 01:18:56.172209777 +0200
+++ configure   2022-02-21 01:19:37.482835172 +0200
@@ -639,6 +639,7 @@
   if enabled_or_auto libav; then
     has_libav=true
     has_resample=false
+       export PKG_CONFIG_PATH=/usr/lib/ffmpeg4.4/pkgconfig/

     check_pkg libavfilter   ">=6.47.100"  || has_libav=false
     check_pkg libswresample ">=2.1.100"   && has_resample=true

Makes pkgconfig to find the old (ffmpeg4.4) library versions .pc files in the mentioned folder. However I'm quite certain this is probably not the right or clean way to do this. Maybe someone knows the "right" way (or can confirm is this is "right")?

Optimally, tvheadend should probably be upgraded so that it can use the newest versions, but that is an upstream issue.

For the impatient, making the following change to PKGBUILD, makepkg will pick up the configure patch:

--- PKGBUILD.old        2022-02-21 01:34:20.644851229 +0200
+++ PKGBUILD    2022-02-21 01:26:43.361979494 +0200
@@ -44,17 +44,26 @@
   tvheadend.service
   tmpfile.conf
   user.conf
+  configffmpeg.patch
 )
 sha512sums=('SKIP'
             'd29662ee47f2d0da98d444819f730a8c487999454d60d7397b0f67068300ab5111ffce18befc9fdef5ff8fa1925213716837ea44808fb934197e4a56f98de8a7'
             '1080c8a2530d1f16ab5304cdd81c9c9da23b281e44a4874f4921905c843d876831214af481f9be91a74291ed4a6a10684dbdfb8f926b51bbb6895b92d493b201'
-            '5e0475cfe1f915bd3269ba3e9e0ca6cc7e492988bfd4f1feafcbbd3e8b0276c228f0b08a4116f3213d12c0ea940eff0dc71601a6e6ddcda934964cf51a665539')
+            '5e0475cfe1f915bd3269ba3e9e0ca6cc7e492988bfd4f1feafcbbd3e8b0276c228f0b08a4116f3213d12c0ea940eff0dc71601a6e6ddcda934964cf51a665539'
+            'ff61d594db210fc8413edd900fc9e01705a01a35ac0c225b2bb3bdf5beca088b13c021ade08d61dee58ff2e5a8e73fc8eb042033ccdd55f3a8573f64e5eec6d4')

 pkgver() {
   cd "${srcdir}/${_gitname}"
   git describe --long | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
 }

+prepare() {
+  # cd "$pkgname-$pkgver"
+  cd "${srcdir}/${_gitname}"
+  patch --forward --input="${srcdir}/configffmpeg.patch"
+
+}
+
 build() {
   cd "${srcdir}/${_gitname}"

Wild_Penguin commented on 2022-02-19 18:30 (UTC)

Hi,

Because of dependency problems I can not downgrade (if you mean downgrading ffmpeg2:). Many packages require ffmpeg2:5.0, and downgrading that one is not straightforward. I might try it if/when I get the dependencies resolved.

But there already is also ffmpeg4.4 in the current tree. Seems like it has just moved to a different place in the folder structure?

Just making sure we are on the same page:

https://archlinux.org/packages/extra/x86_64/ffmpeg/ <- downgrading is not straight-forward https://archlinux.org/packages/extra/x86_64/ffmpeg4.4/ <- already installed

francoism90 commented on 2022-02-18 16:43 (UTC)

Could you try installing ffmpeg4.4 and rebuild the PKG?

Think it needs the legacy, instead of the 'new' one.

Wild_Penguin commented on 2022-02-18 10:06 (UTC)

Fails to build currently with AVBitStreamFilterContext. A log snippet:

CC              src/avahi.o
CC              src/libav.o
CC              src/muxer/muxer_libav.o
CC              src/api/api_codec.o
CC              src/input/mpegts/iptv/iptv_libav.o
CC              src/transcoding/memutils.o
CC              src/transcoding/transcode/audio.o
CC              src/transcoding/transcode/context.o
CC              src/transcoding/transcode/helpers.o
src/muxer/muxer_libav.c:38:3: error: unknown type name 'AVBitStreamFilterContext'
   38 |   AVBitStreamFilterContext *lm_h264_filter;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
src/muxer/muxer_libav.c:39:3: error: unknown type name 'AVBitStreamFilterContext'
   39 |   AVBitStreamFilterContext *lm_hevc_filter;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
src/muxer/muxer_libav.c: In function 'lav_muxer_add_stream':
src/muxer/muxer_libav.c:82:3: error: unknown type name 'AVCodecContext'; use 'struct' keyword to refer to the type
   82 |   AVCodecContext *c;
      |   ^~~~~~~~~~~~~~
      |   struct 
src/muxer/muxer_libav.c:89:9: error: 'AVStream' has no member named 'codec'
   89 |   c = st->codec;
      |         ^~

Any ideas? Presumably some library is too new / too old in Arch and API breakage has resulted?

gap30 commented on 2021-10-12 23:16 (UTC) (edited on 2021-10-12 23:20 (UTC) by gap30)

I cannot get the gotox function working in this version, works perfectly in 4.2.8 copied all my configs across

My positioner does not wake up, its almost as if it does not recognise my TBS6903

It is trying but no luck :(

2021-10-13 00:09:33.447 [ INFO] subscription: 0003: "scan" subscribing to mux "10847V", weight: 6, adapter: "TurboSight TBS 6903 DVB-S/S2 #1 : DVB-S #0", network: "28e", service: "Raw PID Subscription" 2021-10-13 00:10:43.447 [ INFO] mpegts: 10847V in 28e - scan no data, failed 2021-10-13 00:10:43.447 [ INFO] subscription: 0003: "scan" unsubscribing