Jump to content

Emby Theater for Linux


xnappo

Recommended Posts

them8os235
2 hours ago, Luke said:

OK yes the RPI image is on 3.0.16 as some elements of that need to be reworked, but the other builds are all up to date.

Please forgive me if I'm being dense. But what is the reason someone should want to installed an older un-fixed v3.0.16 build with demonstrable problems just because it's built as ARM64 when the very stable build is 3.0.19 even tho it's ARMHF ?  ...Addressable RAM? Okay...  But I've never seen my RPi4 ET use more than about 700 or 800 Megs of RAM so I'm in the camp that it doesn't make sense to deploy ET on anything greater than a 2Gig version of the RPi4.  Or is that because I am not someone who is viewing UHD video on my RPI4s? [TBD, I'll have to give that a try one day]

If I can make a suggestion, perhaps it's time that someone on the Emby team revisit the 3.0.19 release repository.  I imagine whatever it was that prevented the ARM64 build at the time is not longer a blocker [?], so that the ARM64 build of 3.0.19 can now be added to the list. 

I found the 3.0.19 build to be nothing but stable and snappy on the numerous RPi 4s I put it on and I was happy to use it.  I've since redeployed those RPi4s for other uses.  But this convo has just reminded and spurred me to pick a few more 2Gig versions up and put them back in service.  ;) 

Edited by them8os235
Link to comment
Share on other sites

New images are being worked on, that should hopefully cover RPi 3 all the way to 5, both armv7 (based on Bullseye) and armv8 (based on Bookworm).

  • Thanks 1
Link to comment
Share on other sites

11 hours ago, them8os235 said:

I found the 3.0.19 build to be nothing but stable and snappy on the numerous RPi 4s I put it on and I was happy to use it.  I've since redeployed those RPi4s for other uses.  But this convo has just reminded and spurred me to pick a few more 2Gig versions up and put them back in service.  ;) 

Hi. I am curious - Were there any special settings that needed to be made here? I am asking because I have extensively tried / tested emby-theater-rpi_3.0.19_armhf image with all possible combinations of settings on a rpi400 and I was not able to get it to a usable state. The gui was running smoothly, but video playback, even low bitrate h.264 1080p content did never play smoothly. There were audio/video sync issues and the playback was very choppy, despite all my efforts.

Thanks,

Link to comment
Share on other sites

them8os235
11 hours ago, acnp77 said:

Hi. I am curious - Were there any special settings that needed to be made here? I am asking because I have extensively tried / tested emby-theater-rpi_3.0.19_armhf image with all possible combinations of settings on a rpi400 and I was not able to get it to a usable state. The gui was running smoothly, but video playback, even low bitrate h.264 1080p content did never play smoothly. There were audio/video sync issues and the playback was very choppy, despite all my efforts.

Thanks,

I don't have mine running anymore.  I'll redeploy them after I finish building my new Emby Server and get back to you.  BTW are you running via WiFi or LAN?  I only ran mine via LAN.

Link to comment
Share on other sites

12 hours ago, them8os235 said:

I don't have mine running anymore.  I'll redeploy them after I finish building my new Emby Server and get back to you.  BTW are you running via WiFi or LAN?  I only ran mine via LAN.

Hi. Great, thanks a lot. I always run the PI over LAN.

Link to comment
Share on other sites

smoothquark
On 01/08/2023 at 20:35, screamor said:

Hi i am just setting up a Emby Theater on Debian.

I got everything running, but there is no way the Emby-theater plays anything without ran in sudo.
Error log without sudo

/usr/bin/emby-theater: 10: ldconfig: not found
readlink: fehlender Operand
„readlink --help“ liefert weitere Informationen.
/usr/bin/emby-theater: 10: [: -gt: unexpected operator
libGL error: MESA-LOADER: failed to open iris: /opt/emby-theater/extra/lib/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /usr/lib/dri/iris_dri.so) (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open iris: /opt/emby-theater/extra/lib/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /usr/lib/dri/iris_dri.so) (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open swrast: /opt/emby-theater/extra/lib/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /usr/lib/dri/swrast_dri.so) (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libGL error: failed to load driver: swrast
Initializing cec-client...

{
  cecExePath: 'cec-client',
  cecEmitter: EventEmitter {
    _events: [Object: null prototype] {},
    _eventsCount: 0,
    _maxListeners: undefined
  },
  cecHdmiPort: 'null'
}
cec-client exited with code 1

UDP Client listening on 0.0.0.0:39420
starting udp receive timer with timeout ms: 1000
Message from: xxxxxxxxxxx
ServerDiscovery message received
Server discovery json: {"Address":"http://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

ServerDiscovery message received

cec-client exited with code 1
timer expired 2 servers received
[
  {
    Address: 'http://xxxxxxxxxxxxx
    Id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Name: 'xxxxxxxxx
    EndpointAddress: 'xxxxxxxxxxxx
  },

 

 

with sudo:

Initializing cec-client...

{
  cecExePath: 'cec-client',
  cecEmitter: EventEmitter {
    _events: [Object: null prototype] {},
    _eventsCount: 0,
    _maxListeners: undefined
  },
  cecHdmiPort: 'null'
}
UDP Client listening on 0.0.0.0:39420
starting udp receive timer with timeout ms: 1000
Message from: xxxxxxxxxxxxx
ServerDiscovery message received
Server discovery json: {"Address":"http://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

ServerDiscovery message received

cec-client exited with code 1
timer expired 2 servers received
[
  {
    Address: 'http://xxxxxxxxxxxxx
    Id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    Name: 'xxxxxxxxx
    EndpointAddress: 'xxxxxxxxxxxx
  },
 

Anybody an idea how to run this without sudo?

 

A bit late to the party... I have only just started playing with Emby Theater for Linux.

ldconfig is in /usr/sbin in Debian and not in the path for a normal user. I have simply changed the startup script in /usr/bin/emby-theater to add the necessary path. In any case, it did not make a difference in my system.

Link to comment
Share on other sites

smoothquark

I have installed Emby Theatre for Linux on a minimal Debian 12 installation. Starts up fine and works in stereo as long as pulseaudio is installed. I just cannot seem to get passthrough to work even with playing with the passthrough settings in the Emby Electron app as well as via pavucontrol. Whenever passthrough is used, I just get the dreaded spinning blue wheel.

Preamble... I went away from using a HTPC sometime ago due to poor video support in Linux, but this has now improved significantly, Video playback has been pretty good. My main intention, however, was to get bitperfect audio. My Nvidia Shield has been pretty good with bit pefect via HDMI to my Denon AVR (never mind the processing that happens within the AVR). Previously, my music system was in a different room but we have now moved and HT and music has to live in the same place, which has required some downsizing of my equipment. I have been trying to get my USB DAC to work with my NVidia Shield - this has involved getting the 9.1.2 update, but USB still does not support DSD and switching outputs has been convoluted. UAPP on the Shield does play back bitperfect to the USB DAC but the inteface is very clunky as it is not an Android TV native app. I have been a long term user of Emby and I do like the interface for music but the Shield does not support output to both HDMI and USB simultaneously. It would be nice if Emby will support TIDAL integration. I did try Plex for its TIDAL "support" - the less said, the better!

Anyway, back to my HTPC - I have installed mpv separately and can get dual outputs working via Lua scripting as well as DSD output to my USB DAC, although mpv by itself cannot do so as ffmpeg does not. So, I have been trying to bypass pulseaudio on Emby Theater and it does not appear that I can do. These are my observations (I have made up an mpv.conf in ~/.config/mpv for testing) ...

1. If pulseaudio is removed from the system, and audio playback results in the blue spinning wheel of death. In the mpv logs, I get the following:

[   0.091][v][ao] Trying audio driver 'alsa'
[   0.091][v][ao] Using preferred device 'plughw:CARD=SB,DEV=0'
[   0.091][v][ao/alsa] requested format: 44100 Hz, stereo channels, s16
[   0.091][v][ao/alsa] using ALSA version: 1.2.4
[   0.091][v][ao/alsa] opening device 'plughw:CARD=SB,DEV=0'
[   0.093][e][ao/alsa] Playback open error: Device or resource busy
[   0.094][e][ao] Failed to initialize audio driver 'alsa'
[   0.094][e][ao] This audio driver/device was forced with the --audio-device >
[   0.094][e][ao] Try unsetting it.
[   0.094][e][cplayer] Could not open/initialize audio device -> no sound.

I am assuming that if pulseaudio is not installed, emby-theater then takes up the default audio device for the internal sound (internal sound when navigating still works), and therefore hogs it? However, running mpv separately in a separate terminal and using the same audio device works OK, so, Emby cannot be hogging it?

2. I can get the spinning wheel of death to go away and carry on playing without audio by using audio-fallback-to-null=yes in mpv.conf. I was then hoping to set up a separate mpv instance via lua scripting but it looks like lua is disabled in libmpv and the mpv version that ships with emby-theater.

3. I tried to use mpv as an external player. I either get a blank screen flashing or a playback error message (can't remember the actual message) when emby-theater boots up from start (openbox and user 'htpc'), with no logs being generated by mpv but the video plays (without audio as I have audio-fallback-to-null=yes in mpv.conf), when emby-theater is started via ssh also as user 'htpc'). So, I am wondering if somehow the external mpv is being started as a different user? Perhaps this may explain (1) too?

4. Is it possible to get the configs used for building the internal libmpv and mpv?

I shall try to keep playing a bit more if I can figure this out, unless there is actually an idiot's guide to getting bitperfect and passthrough working? Perhaps I am missing something obvious? I might have to resort to setting up a standard Debian desktop on the HTPC and work backwards, perhaps?

Thank you.

 

    

Link to comment
Share on other sites

alucryd

I'm not super intimate with how electron interacts with mpv, and it's given me quite a few headaches already, but I don't think it's started as another user.

As for the config, here are the enabled features for x64 and arm for the builds I am currently working on:

x64:

List of enabled features: alsa av-channel-layout avif-muxer cplugins dmabuf-interop-gl drm dvbin egl egl-drm egl-x11 ffmpeg gbm gl glibc-thread-name glob glob-posix gpl iconv jpegxl lavu-uuid lcms2 libass libavdevice libdl libplacebo linux-fstatfs posix ppoll pthread-condattr-setclock pulse vaapi vaapi-drm vector vk-khr-display vt.h vulkan x11 zlib

arm:

List of enabled features: alsa av-channel-layout avif-muxer cplugins dmabuf-interop-gl drm dvbin egl egl-drm egl-x11 ffmpeg gbm gl glibc-thread-name glob glob-posix gpl iconv jpegxl lavu-uuid lcms2 libass libavdevice libdl libplacebo linux-fstatfs posix ppoll pthread-condattr-setclock pulse vector vk-khr-display vt.h vulkan vulkan-interop x11 zlib

Might throw wayland support in the mix later on, but as long as electron runs under xorg, or even xwayland, I'm not sure that's going to be very useful.

Link to comment
Share on other sites

@alucrydIt seems to me that I was never able to get HW decoding to work on the rpi400 with the emby-theater-rpi_3.0.19_armhf image or any other image.

I know this is not a very detailed observation, but this seems to be the main issue. The pi4 as such would be more than capable.

 

Link to comment
Share on other sites

smoothquark
3 hours ago, alucryd said:

I'm not super intimate with how electron interacts with mpv, and it's given me quite a few headaches already, but I don't think it's started as another user.

As for the config, here are the enabled features for x64 and arm for the builds I am currently working on:

x64:

List of enabled features: alsa av-channel-layout avif-muxer cplugins dmabuf-interop-gl drm dvbin egl egl-drm egl-x11 ffmpeg gbm gl glibc-thread-name glob glob-posix gpl iconv jpegxl lavu-uuid lcms2 libass libavdevice libdl libplacebo linux-fstatfs posix ppoll pthread-condattr-setclock pulse vaapi vaapi-drm vector vk-khr-display vt.h vulkan x11 zlib

arm:

List of enabled features: alsa av-channel-layout avif-muxer cplugins dmabuf-interop-gl drm dvbin egl egl-drm egl-x11 ffmpeg gbm gl glibc-thread-name glob glob-posix gpl iconv jpegxl lavu-uuid lcms2 libass libavdevice libdl libplacebo linux-fstatfs posix ppoll pthread-condattr-setclock pulse vector vk-khr-display vt.h vulkan vulkan-interop x11 zlib

Might throw wayland support in the mix later on, but as long as electron runs under xorg, or even xwayland, I'm not sure that's going to be very useful.

Thanks. Looking forward to your build. I think it is electron that somehow uses pulseaudio for everything. I seem to recall reading that somewhere sometime ago but it might just be my imagination. I am finding the same thing with installation on my main desktop (Debian Buster) too, but just with a stereo line out. Strange that I can't get passthrough working on the HTPC connected to my AVR via HDMI, even with pulseaudio.

I shall wait for your build to be available first, in case it actually fixes these issues. Thank you for your hard work!

 

Link to comment
Share on other sites

smoothquark

A bit more playing around with Emby Theater in Debian Bookworm. No pulseaudio or pipewire. Trying to play a 16/44.1 flac. Both result in the blue spinning wheel of death

without an audio output device specified in ~/.config/mpv/mpv.conf

[   0.269][v][ao] Trying audio driver 'pulse'
[   0.269][v][ao/pulse] requested format: 44100 Hz, stereo channels, s16
[   0.270][v][ao/pulse] Library version: 16.1.0
[   0.270][v][ao/pulse] Proto: 35
[   0.270][v][ao/pulse] Server proto: 4294967295
[   0.270][v][ao] Trying audio driver 'alsa'
[   0.270][v][ao/alsa] requested format: 44100 Hz, stereo channels, s16
[   0.270][v][ao/alsa] using ALSA version: 1.2.8
[   0.270][v][ao/alsa] opening device 'default'
[   0.272][e][ao/alsa] Playback open error: Device or resource busy
[   0.272][e][ao] Failed to initialize audio driver 'alsa'
[   0.272][e][cplayer] Could not open/initialize audio device -> no sound.

without an audio output device specified in ~/.config/mpv/mpv.conf

[   0.052][v][ao] Trying audio driver 'alsa'
[   0.052][v][ao] Using preferred device 'hdmi:CARD=NVidia,DEV=0'
[   0.052][v][ao/alsa] requested format: 44100 Hz, stereo channels, s16
[   0.052][v][ao/alsa] using ALSA version: 1.2.8
[   0.052][v][ao/alsa] opening device 'hdmi:CARD=NVidia,DEV=0'
[   0.054][d][lavf] stream 0: resize index to 128
[   0.065][d][ao/alsa] PCM setup:
[   0.065][d][ao/alsa] ---
[   0.065][d][ao/alsa] Hooks PCM
[   0.065][d][ao/alsa] Slave: Hardware PCM card 1 'HDA NVidia' device 3 subdevice 0
[   0.065][d][ao/alsa] ---
[   0.065][d][ao/alsa] Start HW params:
[   0.065][d][ao/alsa] ---
[   0.065][d][ao/alsa] ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
[   0.065][d][ao/alsa] FORMAT:  S16_LE S32_LE
[   0.065][d][ao/alsa] SUBFORMAT:  STD
[   0.065][d][ao/alsa] SAMPLE_BITS: [16 32]
[   0.065][d][ao/alsa] FRAME_BITS: [32 256]
[   0.065][d][ao/alsa] CHANNELS: [2 8]
[   0.065][d][ao/alsa] RATE: [32000 192000]
[   0.065][d][ao/alsa] PERIOD_TIME: (20 16384000]
[   0.065][d][ao/alsa] PERIOD_SIZE: [4 524288]
[   0.065][d][ao/alsa] PERIOD_BYTES: [128 2097152]
[   0.065][d][ao/alsa] PERIODS: [2 32]
[   0.065][d][ao/alsa] BUFFER_TIME: (41 32768000]
[   0.065][d][ao/alsa] BUFFER_SIZE: [8 1048576]
[   0.065][d][ao/alsa] BUFFER_BYTES: [128 4194304]
[   0.065][d][ao/alsa] TICK_TIME: ALL
[   0.065][d][ao/alsa] ---
[   0.065][d][ao/alsa] HW params after rate:
[   0.065][d][ao/alsa] ---
[   0.065][d][ao/alsa] ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
[   0.065][d][ao/alsa] FORMAT:  S16_LE S32_LE
[   0.065][d][ao/alsa] SUBFORMAT:  STD
[   0.065][d][ao/alsa] SAMPLE_BITS: [16 32]
[   0.065][d][ao/alsa] FRAME_BITS: [32 256]
[   0.065][d][ao/alsa] CHANNELS: [2 8]
[   0.065][d][ao/alsa] RATE: [32000 192000]
[   0.065][d][ao/alsa] PERIOD_TIME: (20 16384000]
[   0.065][d][ao/alsa] PERIOD_SIZE: [4 524288]
[   0.065][d][ao/alsa] PERIOD_BYTES: [128 2097152]
[   0.065][d][ao/alsa] PERIODS: [2 32]
[   0.065][d][ao/alsa] BUFFER_TIME: (41 32768000]
[   0.065][d][ao/alsa] BUFFER_SIZE: [8 1048576]
[   0.065][d][ao/alsa] BUFFER_BYTES: [128 4194304]
[   0.065][d][ao/alsa] TICK_TIME: ALL
[   0.065][d][ao/alsa] ---
[   0.065][d][ao/alsa] HW params after access:
[   0.065][d][ao/alsa] ---
[   0.065][d][ao/alsa] ACCESS:  RW_INTERLEAVED
[   0.065][d][ao/alsa] FORMAT:  S16_LE S32_LE
[   0.065][d][ao/alsa] SUBFORMAT:  STD
[   0.065][d][ao/alsa] SAMPLE_BITS: [16 32]
[   0.065][d][ao/alsa] FRAME_BITS: [32 256]
[   0.065][d][ao/alsa] CHANNELS: [2 8]
[   0.065][d][ao/alsa] RATE: [32000 192000]
[   0.065][d][ao/alsa] PERIOD_TIME: (20 16384000]
[   0.065][d][ao/alsa] PERIOD_SIZE: [4 524288]
[   0.065][d][ao/alsa] PERIOD_BYTES: [128 2097152]
[   0.065][d][ao/alsa] PERIODS: [2 32]
[   0.065][d][ao/alsa] BUFFER_TIME: (41 32768000]
[   0.065][d][ao/alsa] BUFFER_SIZE: [8 1048576]
[   0.065][d][ao/alsa] BUFFER_BYTES: [128 4194304]
[   0.065][d][ao/alsa] TICK_TIME: ALL
[   0.065][d][ao/alsa] ---
[   0.065][v][ao/alsa] trying format s16/2
[   0.065][d][ao/alsa] HW params after format:
[   0.065][d][ao/alsa] ---
[   0.065][d][ao/alsa] ACCESS:  RW_INTERLEAVED
[   0.065][d][ao/alsa] FORMAT:  S16_LE
[   0.065][d][ao/alsa] SUBFORMAT:  STD
[   0.065][d][ao/alsa] SAMPLE_BITS: 16
[   0.065][d][ao/alsa] FRAME_BITS: [32 128]
[   0.065][d][ao/alsa] CHANNELS: [2 8]
[   0.065][d][ao/alsa] RATE: [32000 192000]
[   0.065][d][ao/alsa] PERIOD_TIME: (41 16384000]
[   0.065][d][ao/alsa] PERIOD_SIZE: [8 524288]
[   0.065][d][ao/alsa] PERIOD_BYTES: [128 2097152]
[   0.065][d][ao/alsa] PERIODS: [2 32]
[   0.065][d][ao/alsa] BUFFER_TIME: (83 32768000]
[   0.065][d][ao/alsa] BUFFER_SIZE: [16 1048576]
[   0.065][d][ao/alsa] BUFFER_BYTES: [128 4194304]
[   0.065][d][ao/alsa] TICK_TIME: ALL
[   0.065][d][ao/alsa] ---
[   0.065][d][ao/alsa] HW params after channels:
[   0.065][d][ao/alsa] ---
[   0.065][d][ao/alsa] ACCESS:  RW_INTERLEAVED
[   0.065][d][ao/alsa] FORMAT:  S16_LE
[   0.065][d][ao/alsa] SUBFORMAT:  STD
[   0.065][d][ao/alsa] SAMPLE_BITS: 16
[   0.065][d][ao/alsa] FRAME_BITS: 128
[   0.065][d][ao/alsa] CHANNELS: 8
[   0.065][d][ao/alsa] RATE: [32000 192000]
[   0.065][d][ao/alsa] PERIOD_TIME: (41 4096000]
[   0.065][d][ao/alsa] PERIOD_SIZE: [8 131072]
[   0.065][d][ao/alsa] PERIOD_BYTES: [128 2097152]
[   0.065][d][ao/alsa] PERIODS: [2 32]
[   0.065][d][ao/alsa] BUFFER_TIME: (83 8192000]
[   0.065][d][ao/alsa] BUFFER_SIZE: [16 262144]
[   0.065][d][ao/alsa] BUFFER_BYTES: [256 4194304]
[   0.065][d][ao/alsa] TICK_TIME: ALL
[   0.065][d][ao/alsa] ---
[   0.065][d][ao/alsa] HW params after rate-2:
[   0.065][d][ao/alsa] ---
[   0.066][d][ao/alsa] ACCESS:  RW_INTERLEAVED
[   0.066][d][ao/alsa] FORMAT:  S16_LE
[   0.066][d][ao/alsa] SUBFORMAT:  STD
[   0.066][d][ao/alsa] SAMPLE_BITS: 16
[   0.066][d][ao/alsa] FRAME_BITS: 128
[   0.066][d][ao/alsa] CHANNELS: 8
[   0.066][d][ao/alsa] RATE: 192000
[   0.066][d][ao/alsa] PERIOD_TIME: (41 682667)
[   0.066][d][ao/alsa] PERIOD_SIZE: [8 131072]
[   0.066][d][ao/alsa] PERIOD_BYTES: [128 2097152]
[   0.066][d][ao/alsa] PERIODS: [2 32]
[   0.066][d][ao/alsa] BUFFER_TIME: (83 1365334)
[   0.066][d][ao/alsa] BUFFER_SIZE: [16 262144]
[   0.066][d][ao/alsa] BUFFER_BYTES: [256 4194304]
[   0.066][d][ao/alsa] TICK_TIME: ALL
[   0.066][d][ao/alsa] ---
[   0.066][d][ao/alsa] Going to set final HW params:
[   0.066][d][ao/alsa] ---
[   0.066][d][ao/alsa] ACCESS:  RW_INTERLEAVED
[   0.066][d][ao/alsa] FORMAT:  S16_LE
[   0.066][d][ao/alsa] SUBFORMAT:  STD
[   0.066][d][ao/alsa] SAMPLE_BITS: 16
[   0.066][d][ao/alsa] FRAME_BITS: 128
[   0.066][d][ao/alsa] CHANNELS: 8
[   0.066][d][ao/alsa] RATE: 192000
[   0.066][d][ao/alsa] PERIOD_TIME: (42666 42667)
[   0.066][d][ao/alsa] PERIOD_SIZE: 8192
[   0.066][d][ao/alsa] PERIOD_BYTES: 131072
[   0.066][d][ao/alsa] PERIODS: 32
[   0.066][d][ao/alsa] BUFFER_TIME: (1365333 1365334)
[   0.066][d][ao/alsa] BUFFER_SIZE: 262144
[   0.066][d][ao/alsa] BUFFER_BYTES: 4194304
[   0.066][d][ao/alsa] TICK_TIME: ALL
[   0.066][d][ao/alsa] ---
[   0.078][d][ao/alsa] Final HW params:
[   0.078][d][ao/alsa] ---
[   0.078][d][ao/alsa] ACCESS:  RW_INTERLEAVED
[   0.078][d][ao/alsa] FORMAT:  S16_LE
[   0.078][d][ao/alsa] SUBFORMAT:  STD
[   0.078][d][ao/alsa] SAMPLE_BITS: 16
[   0.078][d][ao/alsa] FRAME_BITS: 128
[   0.078][d][ao/alsa] CHANNELS: 8
[   0.078][d][ao/alsa] RATE: 192000
[   0.078][d][ao/alsa] PERIOD_TIME: (42666 42667)
[   0.078][d][ao/alsa] PERIOD_SIZE: 8192
[   0.078][d][ao/alsa] PERIOD_BYTES: 131072
[   0.078][d][ao/alsa] PERIODS: 32
[   0.078][d][ao/alsa] BUFFER_TIME: (1365333 1365334)
[   0.078][d][ao/alsa] BUFFER_SIZE: 262144
[   0.078][d][ao/alsa] BUFFER_BYTES: 4194304
[   0.078][d][ao/alsa] TICK_TIME: 0
[   0.078][d][ao/alsa] ---
[   0.078][v][ao/alsa] channel map reported by ALSA: FL FR RLC RRC FC LFE RL RR
[   0.078][v][ao/alsa] which we understand as: 7.1(alsa)
[   0.078][w][ao/alsa] ALSA channel map conflicts with channel count!
[   0.078][v][ao/alsa] hw pausing supported: yes
[   0.078][v][ao/alsa] buffersize: 0 samples
[   0.078][v][ao/alsa] period size: 0 samples
[   0.080][e][ao/alsa] Device buffer size not set.
[   0.081][e][ao] Failed to initialize audio driver 'alsa'
[   0.081][e][ao] This audio driver/device was forced with the --audio-device option.
[   0.081][e][ao] Try unsetting it.
[   0.081][e][cplayer] Could not open/initialize audio device -> no sound.

I think either (or both) emby and electron cannot access an alsa device directly. I can avoid the blue spinning wheel and get playback to proceed with sound by having  audio-fallback-to-null=yes in the mpv.conf.

I also think I may be able to get around this by starting another instance of mpv, but this requires libmpv to support lua which has not been compiled in. Is it possible to try a version with lua support, or alternatively, can I compile my own? I think emby-theater uses its  own version of ffmpeg though?

Link to comment
Share on other sites

@smoothquarkYeah on x64 we're using a custom ffmpeg version, you can find the sources here: https://mediabrowser.github.io/embytools/ffmpeg-2023_06_25-u1.tar.gz

On ARM, we're using this fork: https://github.com/jc-kynesim/rpi-ffmpeg. Feel free to try building mpv yourself. Hopefully I can get something out myself sometime next week.

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...