finamp icon indicating copy to clipboard operation
finamp copied to clipboard

Opus/Vorbis/OGG doesn't work on iOS (+ discussion on new player backends)

Open Ember-ruby opened this issue 3 years ago • 20 comments

iphone 8, ios 13

Ember-ruby avatar Jan 15 '22 07:01 Ember-ruby

logs from finamp? does it work in on other clients and if yes which? jellyfin server logs? are you transcoding? see a pattern here...?

Maxplosion avatar Jan 15 '22 07:01 Maxplosion

Finamp logs: https://paste.gg/p/anonymous/c238f1a4142447909d5abae177e9166e Finamp audio logs: https://paste.gg/p/anonymous/4ab3e8c877bb41bdbcdb6dd737de7c0e Jellyfin logs: https://paste.gg/p/anonymous/3c221e7311fe4066a5346fe36e81b27a

It works on Jellyfin web client and ios client, i don't have and android phone to try Finamp on

not transcoding, audio plays if i turn it on

Ember-ruby avatar Jan 15 '22 10:01 Ember-ruby

What codec is your audio? OPUS and Vorbis aren't supported yet on iOS as iOS doesn't natively support those formats (it's dumb I know)

jmshrv avatar Jan 15 '22 12:01 jmshrv

@UnicornsOnLSD thanks for your work on this app, I love it

I'm not super familiar with Flutter, but this might be a solution https://github.com/EPNW/opus_flutter/tree/master/opus_flutter

MikePadge avatar May 01 '22 15:05 MikePadge

That's a really interesting looking package, I'll do some testing with it :)

jmshrv avatar May 01 '22 18:05 jmshrv

What codec is your audio? OPUS and Vorbis aren't supported yet on iOS as iOS doesn't natively support those formats (it's dumb I know)

Not even transcoding it?? Also I’m kinda having this issue again, but now it only shows songs I’ve hearted on jellyfin web/iOS app, and yeah nothing opus is playing, annoying given that the vast majority of my music is opus

Ember-ruby avatar May 30 '22 15:05 Ember-ruby

Transcoding should work since Jellyfin will then serve it as AAC, which is supported. As I said, this is an iOS issue so it isn't likely to get fixed in the future. I believe the libopus package that was sent here was for when you want to encode Opus audio in your app, so it won't be useful here.

As for only showing favourite content, you can disable the favourite view by clicking on the star in the top right.

jmshrv avatar May 30 '22 15:05 jmshrv

Just noting here a comment I left on a duplicate issue - https://github.com/UnicornsOnLSD/finamp/issues/236#issuecomment-1174953175

As said there, it would be interesting to see if it would be possible to use just_audio_mpv. In theory it should be possible, but there has been a lot of discussion in just_audio regarding whether or not bundling MPV in apps is legal. I'd assume that the MPV guys aren't too bothered based on mpv-android

The developer of just_audio gave a very good explanation on why MPV may not be possible in this comment - https://github.com/ryanheise/just_audio/issues/178#issuecomment-696021649

jmshrv avatar Jul 05 '22 11:07 jmshrv

Apparently you can implement this by yourself I don't know it is complicated. http://iosdeveloperzone.com/2012/08/07/precompiled-ogg-vorbis-libraries-for-ios/ The post is a little bit old. It could be a solution but if I understand you need to implement your own player.

proline avatar Jul 05 '22 11:07 proline

Yeah the libraries would only let me encode/decode those files directly, you can't plug them into Apple's player.

jmshrv avatar Jul 05 '22 11:07 jmshrv

Maybe https://github.com/leinelissen/jellyfin-audio-player can be used for how to implement this? It's MIT and they have implemented opus playback

fuomag9 avatar Mar 14 '23 20:03 fuomag9

On iOS? It looks like they have the same issue - https://github.com/leinelissen/jellyfin-audio-player/issues/97

I've looked further into MPV, it'll probably be possible as it's LGPL2 (some bits are GPL only but we can safely ignore them). The concerns around legality come from GPL3's Tivoization-prevention stuff.

jmshrv avatar Mar 14 '23 22:03 jmshrv

On iOS? It looks like they have the same issue - leinelissen/jellyfin-audio-player#97

I've looked further into MPV, it'll probably be possible as it's LGPL2 (some bits are GPL only but we can safely ignore them). The concerns around legality come from GPL3's Tivoization-prevention stuff.

In my case I can successfully play opus files (maybe it's transcoding?) With finamp I couldn't even with transcoding enabled in the app

fuomag9 avatar Mar 14 '23 22:03 fuomag9

With finamp I couldn't even with transcoding enabled in the app

You're probably running into #269, which was fixed a while ago (but causes more issues in the form of #414 lol). It's not in a release yet thankfully.

jmshrv avatar Mar 15 '23 00:03 jmshrv

With finamp I couldn't even with transcoding enabled in the app

You're probably running into #269, which was fixed a while ago (but causes more issues in the form of #414 lol). It's not in a release yet thankfully.

Is that fixed in the AppStore version? I tried again but still couldn’t play music :(

fuomag9 avatar Mar 15 '23 06:03 fuomag9

It's not out yet, hopefully it will be soon. As I said, it breaks direct play at the moment so its probably a good thing that I was slow to publish it lol

jmshrv avatar Mar 15 '23 08:03 jmshrv