Jump to content

On the fly transcoding fails with Emby 4.2.0.5 BETA


vendion

Recommended Posts

vendion

Running Emby 4.2.0.5-BETA on a FreeBSD 11.2 Jail, the on the fly transcoding of a media file fails to run resulting in a "No compatible streams are currently available." error pop up. I have installed all the listed dependencies listed on https://emby.media/freebsd-server.html  but looking at the logs for my Emby server I see a lot of errors due to a missing library

2019-05-12 15:05:37.257 Error MediaEncoder: ProcessRun 'ffmpeg -hide_banner -encoders' Error Output:
    Shared object "libsmbclient.so.0" not found, required by "libavformat.so.58"

Not sure if this is what is causing the transcoding to fail or if it is something else. I also see the following error but I don't know if it's related to the above error:

2019-05-12 15:11:22.748 Error HttpServer: Error processing request
    *** Error Report ***
    Version: 4.2.0.5
    Command line: /usr/local/lib/emby-server/system/EmbyServer.exe -os freebsd -ffdetect /usr/local/lib/emby-server/bin/ffdetect -ffmpeg /usr/local/lib/emby-server/bin/ffmpeg -ffprobe /usr/local/lib/emby-server/bin/ffprobe -programdata /var/db/emby-server -updatepackage emby-server-freebsd11_{version}_amd64.txz
    Operating system: Unix 11.2.0.0
    64-Bit OS: True
    64-Bit Process: True
    User Interactive: False
    Mono: 5.10.1.57 (5.10.1.57 Sun Dec 23 02:16:34 UTC 2018)
    Runtime: file:///usr/local/lib/mono/4.5/mscorlib.dll
    Processor count: 8
    Program data path: /var/db/emby-server
    Application directory: /usr/local/lib/emby-server/system
    System.Exception: System.Exception: No video encoder found for 'h264'
    
    
    >>>>>>  FindVideoDecoder - MediaType: hevc, Mode: 1
    Info    FindVideoDecoder - Checking: 'Automatic software decoder' (Priority: 0)
    Info    FindVideoDecoder - Check successful - selecting 'Automatic software decoder'
    
    >>>>>>  FindVideoEncoder - Media: h264, UseHardwareCodecs: True, Mode: 1
    
      at Emby.Server.MediaEncoding.Encoder.EncodingHelper.GetVideoEncoder (Emby.Server.MediaEncoding.Encoder.EncodingJobInfo state, MediaBrowser.Model.Configuration.EncodingOptions encodingOptions) [0x00061] in <0658cf3ebb7c460f83ee6ee498e55098>:0
      at Emby.Server.MediaEncoding.Encoder.EncodingHelper.DynamicHlsGetCommandLineArguments (System.String outputPath, MediaBrowser.Model.Configuration.EncodingOptions encodingOptions, Emby.Server.MediaEncoding.Api.StreamState state, System.Int32 startNumber, System.Boolean createSubtitleParameters, System.String segmentFileExtension, System.Boolean isEncoding) [0x00009] in <0658cf3ebb7c460f83ee6ee498e55098>:0
      at Emby.Server.MediaEncoding.Api.Hls.DynamicHlsService.GetCommandLineArguments (System.String outputPath, MediaBrowser.Model.Configuration.EncodingOptions encodingOptions, Emby.Server.MediaEncoding.Api.StreamState state, System.Boolean isEncoding) [0x0001b] in <0658cf3ebb7c460f83ee6ee498e55098>:0
      at Emby.Server.MediaEncoding.Api.BaseStreamingService.GetOutputFilePath (Emby.Server.MediaEncoding.Api.StreamState state, MediaBrowser.Model.Configuration.EncodingOptions encodingOptions, System.String outputFileExtension) [0x00017] in <0658cf3ebb7c460f83ee6ee498e55098>:0
      at Emby.Server.MediaEncoding.Api.BaseStreamingService+<GetState>d__78.MoveNext () [0x00855] in <0658cf3ebb7c460f83ee6ee498e55098>:0
    --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <0e06830de9a44394a7e366951eabca52>:0
      at Emby.Server.MediaEncoding.Api.Hls.DynamicHlsService+<GetDynamicSegment>d__14.MoveNext () [0x000e1] in <0658cf3ebb7c460f83ee6ee498e55098>:0
    --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <0e06830de9a44394a7e366951eabca52>:0
      at Emby.Server.Implementations.Services.ServiceExecGeneral+<GetTaskResult>d__3.MoveNext () [0x00081] in <7c885746f3214ccab466bfbdb7e08aae>:0
    --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <0e06830de9a44394a7e366951eabca52>:0
      at Emby.Server.Implementations.Services.ServiceHandler+<ProcessRequestAsync>d__14.MoveNext () [0x00249] in <7c885746f3214ccab466bfbdb7e08aae>:0
    --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0003e] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in <0e06830de9a44394a7e366951eabca52>:0
      at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <0e06830de9a44394a7e366951eabca52>:0
      at Emby.Server.Implementations.HttpServer.HttpListenerHost+<RequestHandler>d__51.MoveNext () [0x00bb8] in <7c885746f3214ccab466bfbdb7e08aae>:0
    Source: mscorlib
    TargetSite: Void Throw()

I have attached the full log from my system as well.

embyserver.txt

Link to comment
Share on other sites

vendion

Hi, did you try installing that missing library?

 

That library is present on my system

root@MediaSRV:~ # find / -type f -name "libsmbclient*"
/usr/local/lib/samba4/libsmbclient.so.0
/usr/local/lib/samba4/private/libsmbclient-raw-samba4.so
/usr/local/man/man7/libsmbclient.7.gz
/usr/ports/multimedia/ffmpeg/work/ffmpeg-4.1/libavformat/libsmbclient.c

Which that is provided by the samba48 package with currently is installed, unless that is no longer the correct version in which the dependency list (mono libass fontconfig freetype2 fribidi gnutls iconv opus samba48 sqlite3 libtheora libva libvorbis webp libx264 libzvbi libraw ImageMagick6) is out of date.

  • Like 1
Link to comment
Share on other sites

vendion

Yes all installed packages are current on this system:

root@MediaSRV:~ # pkg update
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
root@MediaSRV:~ # pkg upgrade
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking for upgrades (4 candidates): 100%
Processing candidates (4 candidates): 100%
Checking integrity... done (0 conflicting)
Your packages are up to date.
root@MediaSRV:~ # pkg info samba48
samba48-4.8.11_1
Name           : samba48
Version        : 4.8.11_1
Installed on   : Sun Apr 28 19:51:24 2019 EDT
Origin         : net/samba48
Architecture   : FreeBSD:11:amd64
Prefix         : /usr/local
Categories     : net
Licenses       : GPLv3
Maintainer     : timur@FreeBSD.org
WWW            : http://www.samba.org/
Comment        : Free SMB/CIFS and AD/DC server and client for Unix
...

Now I am using the latest port branch rather than quarterly if that matters (the samba48 and such may be newer there).

root@MediaSRV:~ # foreach pkg ( mono libass fontconfig freetype2 fribidi gnutls iconv opus samba48 sqlite3 libtheora libva libvorbis webp libx264 libzvbi libraw ImageMagick6 )
foreach? echo $pkg
foreach? pkg info $pkg | grep Version
foreach? end
mono
Version        : 5.10.1.57_1
libass
Version        : 0.14.0
fontconfig
Version        : 2.12.6,1
freetype2
Version        : 2.9.1
fribidi
Version        : 0.19.7
gnutls
Version        : 3.6.7
iconv
Version        : 2.0_4
opus
Version        : 1.3.1
samba48
Version        : 4.8.11_1
sqlite3
Version        : 3.28.0
libtheora
Version        : 1.1.1_7
libva
Version        : 2.4.1
libvorbis
Version        : 1.3.6,3
webp
Version        : 1.0.2
libx264
Version        : 0.157.2945
libzvbi
Version        : 0.2.35_3
libraw
Version        : 0.19.2
ImageMagick6
Version        : 6.9.10.22_1,1
Edited by vendion
Link to comment
Share on other sites

makarai

 

Yes all installed packages are current on this system:

root@MediaSRV:~ # pkg update
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
root@MediaSRV:~ # pkg upgrade
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking for upgrades (4 candidates): 100%
Processing candidates (4 candidates): 100%
Checking integrity... done (0 conflicting)
Your packages are up to date.
root@MediaSRV:~ # pkg info samba48
samba48-4.8.11_1
Name           : samba48
Version        : 4.8.11_1
Installed on   : Sun Apr 28 19:51:24 2019 EDT
Origin         : net/samba48
Architecture   : FreeBSD:11:amd64
Prefix         : /usr/local
Categories     : net
Licenses       : GPLv3
Maintainer     : timur@FreeBSD.org
WWW            : http://www.samba.org/
Comment        : Free SMB/CIFS and AD/DC server and client for Unix
...

Now I am using the latest port branch rather than quarterly if that matters (the samba48 and such may be newer there).

root@MediaSRV:~ # foreach pkg ( mono libass fontconfig freetype2 fribidi gnutls iconv opus samba48 sqlite3 libtheora libva libvorbis webp libx264 libzvbi libraw ImageMagick6 )
foreach? echo $pkg
foreach? pkg info $pkg | grep Version
foreach? end
mono
Version        : 5.10.1.57_1
libass
Version        : 0.14.0
fontconfig
Version        : 2.12.6,1
freetype2
Version        : 2.9.1
fribidi
Version        : 0.19.7
gnutls
Version        : 3.6.7
iconv
Version        : 2.0_4
opus
Version        : 1.3.1
samba48
Version        : 4.8.11_1
sqlite3
Version        : 3.28.0
libtheora
Version        : 1.1.1_7
libva
Version        : 2.4.1
libvorbis
Version        : 1.3.6,3
webp
Version        : 1.0.2
libx264
Version        : 0.157.2945
libzvbi
Version        : 0.2.35_3
libraw
Version        : 0.19.2
ImageMagick6
Version        : 6.9.10.22_1,1

 

quarterly vs latest

 

Yes that is the problem, as emby works on quarterly packages. Switch to the quarterly package set and retest. cheers

Link to comment
Share on other sites

vendion

Okay, running with latest hasn't been an issue before with emby's beta version, but I can switch back to quarterly and try again.

  • Like 1
Link to comment
Share on other sites

MRobi

Running Emby 4.2.0.5-BETA on a FreeBSD 11.2 Jail, the on the fly transcoding of a media file fails to run resulting in a "No compatible streams are currently available." error pop up. I have installed all the listed dependencies listed on https://emby.media/freebsd-server.html  but looking at the logs for my Emby server I see a lot of errors due to a missing library


Did you upgrade or is this a new install?

Link to comment
Share on other sites

makarai

Okay, running with latest hasn't been an issue before with emby's beta version, but I can switch back to quarterly and try again.

 

I also recommend just installing a new jail and porting over your settings, its quite easy and takes literally less then 5 minutes

Link to comment
Share on other sites

vendion

I tried switching back to the quarterly branch and downgrade all my packages with no luck, so I just rebuilt my Jail and sitting on Emby 4.0.2.0 and everything is working now so I guess I'll just sit on the stable version for now. Digging through this forum it seems other users have ran into the same "missing" library issue even with samba48 installed out of the quarterly branch for Emby 4.1.x as well.

 

This also allowed me to redo the setup adding a second nullfs mount into the jail where the Backup & Restore plugin can do a nightly dump of my settings into to ease any future rebuilds of the jail.

  • Like 1
Link to comment
Share on other sites

Yea it's because if you're going to use our downloadable packages, then your system needs to be running the exact same version of freebsd that the package was built for. And not only that but your installed packages as well.

 

The troubleshooting for this is starting to get painful to the point where I'm not sure how much longer we can continue like this.

 

If you install from freebsd ports then it will be much more flexible.

Link to comment
Share on other sites

metsuke

Yea it's because if you're going to use our downloadable packages, then your system needs to be running the exact same version of freebsd that the package was built for. And not only that but your installed packages as well.

 

The troubleshooting for this is starting to get painful to the point where I'm not sure how much longer we can continue like this.

 

If you install from freebsd ports then it will be much more flexible.

 

Maybe beta users should only be supported when using the ports system?  I've only used ports and all my installs thus far have gone perfectly.

Link to comment
Share on other sites

Unfortunately that's just not realistic because it is a manual process to put together the port submission and the betas move too quickly for that. Not to mention that it takes time for the submissions to get accepted and made available. I think at this point due to the current state of affairs it is looking like betas on FreeBSD are going to be for advanced users only.

Link to comment
Share on other sites

Baenwort

Yea it's because if you're going to use our downloadable packages, then your system needs to be running the exact same version of freebsd that the package was built for. And not only that but your installed packages as well.

 

The troubleshooting for this is starting to get painful to the point where I'm not sure how much longer we can continue like this.

 

If you install from freebsd ports then it will be much more flexible.

 

So what is the current advice for FreeBSD11.2/FreeNAS users? In this post: https://emby.media/community/index.php?/topic/68032-update-to-4002-on-freenas/page-4&do=findComment&comment=735902 you recommend latest. Now you say Quarterly.

 

Also, from your following post you seem to be changing the recommendation from beta to stable but since some of us are trapped on beta, until the stable channel catches up to 4.2 or later, will exact guidance be provided on which packages each beta version should be paired with?

Link to comment
Share on other sites

alucryd

@@Baenwort The easiest would be to use our iocage plugin https://github.com/MediaBrowser/iocage-amd64

 

I just updated it to drop the dep on samba and add a dep on libvpx (builds with libvpx support are coming), it is temporarily pointing to the latest beta. As for quarterly vs latest, we were at some point targeting quarterly, but it was more trouble so we eventually switched to latest. This iocage plugin also reflects that (the fingerprint might need changing though, please let me know if it doesn't work.

 

We should have a guide somewhere to use it, I need to get my hands on it.

  • Like 1
Link to comment
Share on other sites

vendion

@@Baenwort The easiest would be to use our iocage plugin https://github.com/MediaBrowser/iocage-amd64

 

I just updated it to drop the dep on samba and add a dep on libvpx (builds with libvpx support are coming), it is temporarily pointing to the latest beta. As for quarterly vs latest, we were at some point targeting quarterly, but it was more trouble so we eventually switched to latest. This iocage plugin also reflects that (the fingerprint might need changing though, please let me know if it doesn't work.

 

We should have a guide somewhere to use it, I need to get my hands on it.

 

This is a bit contradictory, as a few posts up it was said to use quarterly not latest for the pkg port branch, and my problem happened while I was running Emby beta while using the latest port branch rather than quarterly.

  • Like 1
Link to comment
Share on other sites

If you're installing from freebsd ports then you should be able to have your system configured any way you like, is that correct @@alucryd?
 

If you're installing the downloadable package then you will need to be on latest. I apologize for the disruption, but we ran into some problems that required us to switch from quarterly to latest.

Link to comment
Share on other sites

vendion

Okay so I was in the right when running Emby 4.2.0.5 (the then latest beta) with latest packages, that is good to know in case I decide to switch back to the Beta as things there worked a bit better than they currently do in 4.0.2.x.

 

I do see that there is a new beta out, maybe that solves the issue where libsmbclient.so.0 could not be found by ffmpeg and such even though it was installed.

Link to comment
Share on other sites

alucryd

This is a bit contradictory, as a few posts up it was said to use quarterly not latest for the pkg port branch, and my problem happened while I was running Emby beta while using the latest port branch rather than quarterly.

 

We don't rebuild our ffmpeg with every beta as it takes somewhere around 12h for freebsd 11 and 12 on our build environment (2 VMs on top of an already virtualized server, so no hardware acceleration), you might have stumbled upon a version that was built against a somewhat older version of the samba48 than the current one in latest. This will no longer be the case as of the latest beta since we're dropping this troublesome dependency. Other deps are less subject to soname bumps, and even then updated much faster in the ports tree so we know when we can expect one and do a full rebuild when it happens.

  • Like 1
Link to comment
Share on other sites

alucryd

@@Luke yes, building from the ports tree will always produce a fully working binary because ffmpeg will use what's installed on the system at buildtime.

Link to comment
Share on other sites

vendion

We don't rebuild our ffmpeg with every beta as it takes somewhere around 12h for freebsd 11 and 12 on our build environment (2 VMs on top of an already virtualized server, so no hardware acceleration), you might have stumbled upon a version that was built against a somewhat older version of the samba48 than the current one in latest. This will no longer be the case as of the latest beta since we're dropping this troublesome dependency. Other deps are less subject to soname bumps, and even then updated much faster in the ports tree so we know when we can expect one and do a full rebuild when it happens.

That is good to know, thanks for the information. I might give upgrading to the newer beta a shot and see if it works as expected then.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...