-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ffmpeg7 + tvheadend and chromaprint migration to newest #6239
Conversation
@WesSouza, @reykjalin and @jmqm now that the background work to get an individual videodriver package with opencl is completed, I am finally able to work on getting ffmpeg 7.0.2 up and running. Feel free to test this upcoming update - will become from the Check tab under the build summary. Build process normally takes a few hours but if all goes well packages should be available by tomorrow. EDIT: I ended-up hitting a build issue specifically on x86_64 - https://trac.ffmpeg.org/ticket/11206#ticket |
@nyanmisaka thnx for the tips, with this I was able to update our ARCH renaming patch and things now works out! 🚀 @WesSouza, @reykjalin and @jmqm package should now build succesfullly if your interested at testing. |
@th0ma7 what can I do to help with testing? I don't know how to change Jellyfin's ffmpeg path, the input on admin that points to I was able to install it, but the only manual use case I have is transcoding mkv -> mp4, which does work but probably doesn't test it thoroughly. |
When I was working on Jellyfin 10.8.x, the path to the ffmpeg library was editable, and I was able to test switching from ffmpeg4 to ffmpeg6. However, it seems the codebase has changed, likely due to upstream modifications in the Jellyfin repo. For Jellyfin 10.9.x, I didn't notice any major changes in our repo other than updating the service setup to point to the ffmpeg6 folder. If you guys feel adventurous you can manually change the ffmpeg path with these steps:
EDIT: Regarding the Jellyfin version bump, there's already a PR (#6201) addressing this. The main issue with Jellyfin 10.9.x is that it only builds for DSM 7.2 or higher, requiring manual builds and publication since GitHub builds won't work beyond DSM 7.1. I recommend publishing the existing Jellyfin version bump first. Once ffmpeg7 is available, we can consider a second bump to move to ffmpeg7. Before switching, it's important to verify if any features are deprecated or if any support has been dropped between ffmpeg6 and ffmpeg7. |
For security reasons, Jellyfin no longer allows updating the ffmpeg path in the WebUI. |
hey @th0ma7, with the work you did for ffmpeg6, you mentioned in #6174 (comment) that you only enabled iHD for Apollolake and above. Based on the Wiki on Intel Quick Sync Video, my Braswell architecture does support a fair mix of basic QSV functions. Would you consider extending QSV support to my older CPU in ffmpeg7? Happy to test if this is possible. |
@mreid-tt from my reading you may not have vaapi but still have qsv (although not entirely sure...) I was able to compile
Although the following works:
|
The easiest way to determine if an intel GPU is supported by iHD and/or i965 is to search in both github repos using the PCIe device ID, e.g. |
Based on my Jellyfin experience I don't have QSV enabled (it crashes on playback when transcoding) but I do have VAAPI. I can test the latter by playing a stream and then constraining the bitrate so it transcodes. The media info shows it's transcoding and the log shows this:
|
@th0ma7 updating the Jellyfin setup file to use ffmpeg7 seems to work:
|
I am not blocking |
This is great! Do I need to wait for the current build process to complete and install that one or would the one built a few days ago be fine to test with? Also, I presume I'd need to update the |
In theory the older build should do. Although as I rebased against master with force push the history got lost (although you seem to have found one :) So yeah, you can definitively install that and see what output it gives. |
@mreid-tt note that I temporarely enabled @hgy59 i don't have the intention to keep them enabled as this will chew up a lot of resources, although on the other hand it could be usefull for the few cases that only builds on DSM-7.2... |
Downloading from that build the
If I change the pointer to |
Wow, this is odd. I've hit the exact same issue and indeed
Although using |
@mreid-tt just found the issue, rather simple fix. Now lets wait for the github-action run to complete to test things up. EDIT: I've canceled previous runs to avoid wasting cpu cycles... |
I've installed the packages from your last build. Unfortunately, the output from the command hasn't changed by much:
|
Note: procps-ng build issue on DSM-7.2 https://gitlab.com/procps-ng/procps/-/issues/352 |
@mreid-tt one thing that did: it now works using Now, considering It appears you have a DS916+ which uses a braswell CPU (ref: https://github.com/SynoCommunity/spksrc/wiki/Architecture-per-Synology-model) Document relatively to |
Thank you for checking. Although the wiki mentions QSV support in the hardware, you're correct that the software support appears lacking. I came across a related issue in the same project, where attempts to implement it have been unstable (intel/media-driver#1844). Given this, it may not be practical to pursue support for it. |
@hgy59 based on the download build failure I wonder if the " |
From the logs the source repo does seem to be genuinely down:
This can be confirmed by a number of external sites like: It appears that switching to mirrors using https://ftpmirror.gnu.org/ is not an option at the moment, as the site is down (possibly all sites behind this domain as well). Based on a cached version of the GNU Mirror List, there are several alternative mirrors available. However, we currently have 34 code files that reference this URL, making the switch a tedious task. To avoid this kind of issue in the future, we could implement a centralised download mechanism with a fallback system. This would automatically switch to alternative mirrors if the primary one fails, creating a more resilient setup. While this would take significant effort to implement, the alternative is simply waiting for the main repository to come back online. |
@th0ma7, with the GNU repo up I restarted the jobs for you. All but one completed successfully. |
Yeah, there a x64 DSM-7.2 specific build error on systemd dependency for udev library. Finally got a fix for that, now testing that it doesn't have any side effects against other archs. |
Ok, take no. 2, this is now ready for rumble! https://github.com/SynoCommunity/spksrc/actions/runs/11135259226 I strongly advise you to use DSM-7.1 packages, with exception of Jellyfin which is only built for DSM-7.2. (hopefuly sucesful) feedback welcomed :) |
@th0ma7, things are working well with this build. I've tested Jellyfin with the following steps:
All logs look great so far... /var/log/packages/synocli-videodriver.log
/var/log/packages/ffmpeg7.log
/var/log/packages/jellyfin.log
/var/packages/jellyfin/var/jellyfin.log
And the app seems to be up and running with no issues: I then uninstalled |
I did one last round of testing on my end, migrated my TVH environment sucessfully. Wrapping up and merging. Thnx. |
@th0ma7, all packages have been successfully uploaded to the server. Please feel free to publish when ready. I recommend a staggered release, starting with |
I didn't had time to publish anything before leaving this morning. If you have a moment to do so would be much appreciated. |
Ok, here's a track of the publish status:
|
hello, i have added ffmpeg7, removed ffmpeg6, updated synocli-videodriver and after this i cant' play video with DTS or EAC3 on videostation. |
Hi @Yod4z, playing DTS or EAC3 in VideoStation likely requires patching the built-in |
Indeed, you may be relying to https://github.com/darknebular/Wrapper_VideoStation or other similar patcher. I suggest you reach out for them for support. |
yes than you both for support, it's the warpper not compatible with ffmpeg7 i created an issu |
Description
ffmpeg7
initial releasetvheadend
update to commit from Sept. 20th 2024 + migrate toffmpeg7
chromaprint
migrate toffmpeg7
Fixes #
Checklist
all-supported
completed successfullyType of change