leinelissen / jellyfin-audio-player Goto Github PK
View Code? Open in Web Editor NEW🎵 A gorgeous Jellyfin audio streaming app for iOS and Android
Home Page: https://fintunes.app
License: MIT License
🎵 A gorgeous Jellyfin audio streaming app for iOS and Android
Home Page: https://fintunes.app
License: MIT License
@leinelissen Would you be comfortable with me adding this client to the Jellyfin docs? There are some in development clients listed there, and it would get more attention/testers to this great project.
Hi, any chance you can disclose the app permissions? I would love to support the beta testing on both ios and android and I would feel more comfortable knowing, thanks
This is by far the best Jellyfin music player, but it’s missing this feature from Jellyfin. Possible to add it in? Thanks for the amazing app!
Have you considered releasing this amazing app on F-Droid?
Thanks!
Today I added a new album to my media folder on my NAS and went to Jellyfin Dasboard to scan my library. The album showed up in the Jellyfin web UI, and also in Finamp. It does not show in jellyfin-audio-player no matter how many times I pull down the page in iOS to refresh.
Is there something else I need to do, or is this a bug?
Hey I Was Testing The App, Great App By The Way, But I came across one minor thing. I was wondering if there is anyway you could add a feature that will tell you if you are offline/not connected to the internet or server.
It just really to help my clients not get confused as to why the app looks like it’s loading the song when it’s not connected in the first place.
Cheers-TNS
Would it be possible to add support for Android Auto?
We are big fans of the work you are doing here and want to support third party clients as much as possible. We do request that third party apps avoid using the name Jellyfin in the name of the app. This is just to try to make it clear for users that the app is not an official project so any issues, feedback, etc. get directed to the right place. Thanks!
First of all, thanks for making this app, it works great in what it already does!
The main way I listen to my music, is to just shuffle my whole library. I would like to see this feature in the app.
Keep up the good work 👍🏼
There is no obvious way to start an album from the middle and have it continue to play the rest of the album from there.
I have quite a few large albums in my library including several pokemon game soundtracks which are pretty large (heart gold soul silver's is 268 tracks long). Not being able to start an album from the beginning is kinda an annoying limitation.
Would you be willing to investigate implementing playback reporting?
Seeing as the latest version added offline capabilities, the readme is now outdated. It mentions that it is being considered, and not that it’s a feature.
Thanks for what you've done so far, it is much better than the official app for music playback in my opinion.
I use this when I am on my local network, but when I am away, I access Jellyfin through a reverse proxy with basic access authentication. I would love to have this implemented in the iOS app.
Would it be possible to add an option for users to opt out of the logging/tracking that was added in the latest release?
Flac files with sample rate higher than 44.1 kHz are played at 44.1 kHz…
I played some 24bit/96kHz and the DAC says it is receiving 44.1 kHz.
Some files 24bit/192kHz cannot be played at all, reproduction does not start.
Hey, first off -- thanks for making this excellent app. The UI is especially neat.
It would be great if you could add support for "scrobbling" tracks back to the Jellyfin server. I'm not exactly sure how it works, but I'm using https://github.com/lyarenei/jellyfin-plugin-listenbrainz. I suppose there's some API you can hit on the Jellyfin server to facilitate this.
The IOS-App crashes after Install.
If I try to open the App again, it keeps crashing.
I can't even see the Splash-Screen.
I sent you an Crash-Report via Testflight.
I prefer my albums sorted alphabetically by title but there is no way to sort my albums this way.
Would be so nice to have a "Crossfade songs" feature like iTunes (based on duration from 1 to X seconds) or even better an equivalent of the PlexAmp "Sweet fades and Soft transition" feature.
Browser pop sits on users that I should be allowed to tap, however its just froze in place. Any ideas?
Thanks.
please support audiobooks thanks.
Less of an issue just more wondering the progress of these features. feel free to close it.
I already love where this app is going, I just cant wait till these features are in, youve done an amazing job.
For downloads support if you dont have a way to implement it, a plex music app I used just used apples files app to download music so thats one way to do so.
Also the app Icon I would assume is temporary right? Just doesn't scream jellyfin.
Anyways, fantastic work, its just what jellyfin has needed, music is actually the last thing keeping my Plex server on. Hope all goes well with getting it onto testflight!
Hi there, thank you for this project, truly appreciate it! Just wondering if its possible to stream dsd files without down sampling it & is it possible to add support for an external dac?
Sorry if these questions sounds dumb, im kinda new to setting up a streaming server
It would be great to have Apple CarPlay support added to this app. I’m not sure how hard this would be, but it seems to be possible with React Native.
Application Expired On Test Flight
Hi,
Thanks a lot for the player, I'm already using it everyday !
I would like to contribute and if you are interested I can provide the French localization. I just need to know what's the better way to provide translated strings.
Title explains itself. If it's not a feature, I kindly ask that as a request.
(I would have used discussions but they’re not enabled)
https://github.com/UnicornsOnLSD/finamp
it’s capable of downloads, so maybe it’s a good idea to look at its implementation:)
Hey there, I'm one of the project leads from Jellyfin. This looks great, and as an iOS user, I'm so happy to see it out there.
I'll give it a shot with some testing soon, but if it looks good, I'll talk to the team about how we can help with any promotion, building/maintenance, or even getting it out to the store.
after the http update, the search has disappeared on IOS, there is still the menu item for it, but there is no text field to search for an album.
I have some albums that don't have unique album art yet due to matching issues and are utilizing a default band image. In the app these appear as grey boxes instead of the default band album art that is visible on the website.
Support for the download function and for it to work with the enable and disable downloading button in the admin dashboard for each client
And Also do you think it could work like for example Apple Music Where you can download music offline but there isn't really a physical file?
Hi there, is google cast implemented for the iOS app? Haven't seen it referenced anywhere in the current build, but wanted to make sure it wasn't an issue on my end.
Thank you for making this!
First of all, thanks for that amazing app - it's the best I've seen so far.
Can you add an option to download all the tracks from collection to listen offline, not just from one album or playlist?
P.S. It would make sense to implement track view for the whole collection and place download button there.
The app looks pretty neat, but it seems to be strictly focused on playing music. You could add a new tab called "Audio-books" in which you could retrieve the covers and description by the title and metadata (like Jellyfin does with the movies). Then, it'd remember where did you leave the audio in your last visit, or you could modify the playback speed. In short, it would be the first FOSS alternative to audiolibre.
OGG support was requested in TestFlight. It's probably best to review if other formats need to be supported as well, and proactively add them to the list. (Maybe double check the formats supported by the Emby client and steal those).+
Is there Dark Mode compatibility and if I build it does it actually work?
A bug report came in from TestFlight mentioning that album art is not displaying on any album, except for the first one in queue? At least, investigate whether album art is correctly being displayed with the current version.
I know jellyfin playlists can support both music and video but I have a large "favorites" playlist of my favorite songs from multiple different albums I like to throw on shuffle. Is there any way to support playlists?
Android Version: 10 (LineageOS)
Device: Samsung Galaxy S9
A video of whats happening
You can see the tap indicators
Playback also doesnt seem to be working. My music on jellyfin is in the opus codec
Using the iOS app version 1.0 (4) on iOS 13.6.1, and server version 10.6.4 on Linux.
While scrolling through my music library in the All Albums there is a lot of jerkiness, and sometimes the view blanks out entirely until I scroll back up. Here's a recording of what it looks like. It only happens in certain parts of the list, but so far I haven't been able to figure out what these parts have in common. On the server side, I see errors like this:
[06:52:38] [ERR] [63] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: http://[server removed]:8096/Items/ad54e8c542017e2e22e5a16ee7a54d3d/Images/Primary?format=jpeg
MediaBrowser.Common.Extensions.ResourceNotFoundException: American Football does not have an image of type Primary
at MediaBrowser.Api.Images.ImageService.GetImage(ImageRequest request, Guid itemId, BaseItem item, Boolean isHeadRequest)
at Emby.Server.Implementations.Services.ServiceExecGeneral.Execute(Type serviceType, IRequest request, Object instance, Object requestDto, String requestName)
at Emby.Server.Implementations.Services.ServiceController.Execute(HttpListenerHost httpHost, Object requestDto, IRequest req)
at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken)
at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
but this happens whether or not the scrolling is acting up with any albums that lack a cover image. I suspect it's normal but including it in case it's relevant.
Possibly a separate issue, trying to jump through the list with the letters on the right crashes the app. I sent a report through Test Flight one of the times that happened.
Overall I love the app so far, searching and playing albums works great.
Media Info of the file
$ mediainfo /media/music/10235967_Soul_In_The_Dark_Extended_Mix.flac
General
Complete name : /media/music/10235967_Soul_In_The_Dark_Extended_Mix.flac
Format : FLAC
Format/Info : Free Lossless Audio Codec
File size : 43.4 MiB
Duration : 5 min 25 s
Overall bit rate mode : Variable
Overall bit rate : 1 119 kb/s
Album : Soul In The Dark
Track name : Soul In The Dark (Extended Mix)
Track name/Position : 1
Performer : Adip Kiyoi, Vika
Genre : Trance
Description : Purchased at Beatport.com
Recorded date : 2018-02-19
Writing application : Lavf58.76.100
Cover : Yes / Yes
Cover type : Publisher logo / Cover (front)
Cover MIME : image/png / image/png
TBPM : 136
TDOR : 2018-02-19
encoded_by : Beatport
TFLT : AIFF
TIT1 : Suanda Voice
TKEY : Gbmin
publisher : Suanda Voice
TSRC : GBKQU1811544
Audio
Format : FLAC
Format/Info : Free Lossless Audio Codec
Duration : 5 min 25 s
Bit rate mode : Variable
Bit rate : 1 109 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 44.1 kHz
Bit depth : 16 bits
Compression mode : Lossless
Stream size : 43.0 MiB (99%)
Writing library : Lavf58.76.100
Logs
[2022-01-03 14:54:49.600 +00:00] [INF] [187] Jellyfin.Api.Controllers.UniversalAudioController: GetPostedPlaybackInfo profile: DeviceProfile { Name: null, Id: null, Identification: null, FriendlyName: null, Manufacturer: null, ManufacturerUrl: null, ModelName: null, ModelDescription: null, ModelNumber: null, ModelUrl: null, SerialNumber: null, EnableAlbumArtInDidl: False, EnableSingleAlbumArtLimit: False, EnableSingleSubtitleLimit: False, SupportedMediaTypes: "Audio,Photo,Video", UserId: null, AlbumArtPn: null, MaxAlbumArtWidth: 0, MaxAlbumArtHeight: 0, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 8000000, MaxStaticBitrate: 8000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: null, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp3", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "alac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "flac", AudioCodec: "ogg", VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }], ContainerProfiles: [], CodecProfiles: [], ResponseProfiles: [], SubtitleProfiles: [] }
[2022-01-03 14:54:49.601 +00:00] [INF] [187] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "<redacted>". EnableAudioPlaybackTranscoding: True
[2022-01-03 14:54:49.602 +00:00] [INF] [187] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Unknown Profile", No audio direct play profiles found for "/media/music/10235967_Soul_In_The_Dark_Extended_Mix.flac" with codec "flac"
[2022-01-03 14:54:49.602 +00:00] [INF] [187] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Unknown Profile", No audio direct play profiles found for "/media/music/10235967_Soul_In_The_Dark_Extended_Mix.flac" with codec "flac"
[2022-01-03 14:54:49.602 +00:00] [INF] [187] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Unknown Profile", No audio direct play profiles found for "/media/music/10235967_Soul_In_The_Dark_Extended_Mix.flac" with codec "flac"
[2022-01-03 14:54:49.603 +00:00] [INF] [187] Jellyfin.Api.Helpers.TranscodingJobHelper: /usr/lib/jellyfin-ffmpeg/ffmpeg -i file:"/media/music/10235967_Soul_In_The_Dark_Extended_Mix.flac" -threads 0 -vn -ab 384000 -ac 2 -id3v2_version 3 -write_id3v1 1 -y "/config/transcodes/e17f749dc8e3629792e5b698fcf42a5e.aac"
[2022-01-03 14:54:49.759 +00:00] [INF] [167] Jellyfin.Api.Controllers.UniversalAudioController: GetPostedPlaybackInfo profile: DeviceProfile { Name: null, Id: null, Identification: null, FriendlyName: null, Manufacturer: null, ManufacturerUrl: null, ModelName: null, ModelDescription: null, ModelNumber: null, ModelUrl: null, SerialNumber: null, EnableAlbumArtInDidl: False, EnableSingleAlbumArtLimit: False, EnableSingleSubtitleLimit: False, SupportedMediaTypes: "Audio,Photo,Video", UserId: null, AlbumArtPn: null, MaxAlbumArtWidth: 0, MaxAlbumArtHeight: 0, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 8000000, MaxStaticBitrate: 8000000, MusicStreamingTranscodingBitrate: 128000, MaxStaticMusicBitrate: null, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp3", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "alac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4b", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "flac", AudioCodec: "ogg", VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }], ContainerProfiles: [], CodecProfiles: [], ResponseProfiles: [], SubtitleProfiles: [] }
[2022-01-03 14:54:49.759 +00:00] [INF] [167] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "<redacted>". EnableAudioPlaybackTranscoding: True
[2022-01-03 14:54:49.759 +00:00] [INF] [167] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Unknown Profile", No audio direct play profiles found for "/media/music/10235967_Soul_In_The_Dark_Extended_Mix.flac" with codec "flac"
[2022-01-03 14:54:49.760 +00:00] [INF] [167] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Unknown Profile", No audio direct play profiles found for "/media/music/10235967_Soul_In_The_Dark_Extended_Mix.flac" with codec "flac"
[2022-01-03 14:54:49.760 +00:00] [INF] [167] Jellyfin.Api.Helpers.MediaInfoHelper: Profile: "Unknown Profile", No audio direct play profiles found for "/media/music/10235967_Soul_In_The_Dark_Extended_Mix.flac" with codec "flac"
[2022-01-03 14:54:49.760 +00:00] [INF] [167] Jellyfin.Api.Helpers.TranscodingJobHelper: /usr/lib/jellyfin-ffmpeg/ffmpeg -i file:"/media/music/10235967_Soul_In_The_Dark_Extended_Mix.flac" -threads 0 -vn -ab 384000 -ac 2 -id3v2_version 3 -write_id3v1 1 -y "/config/transcodes/fcbc3a5642291c2ba370b504ded25c80.aac"
[2022-01-03 14:54:53.530 +00:00] [INF] [59] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0
[2022-01-03 14:54:53.711 +00:00] [INF] [211] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0
[2022-01-03 14:54:59.726 +00:00] [INF] [28] Jellyfin.Api.Helpers.TranscodingJobHelper: Transcoding kill timer stopped for JobId "dcfbbaab5b7c46788bbbde8a04ec5a64" PlaySessionId "f9c11d6e2f944ed184a226c90bd48932". Killing transcoding
[2022-01-03 14:54:59.726 +00:00] [INF] [28] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting partial stream file(s) "/config/transcodes/e17f749dc8e3629792e5b698fcf42a5e.aac"
FFmpeg Logs
/Audio/ab0256fbb4571890535d699ae53f9001/universal
{"Protocol":0,"Id":"ab0256fbb4571890535d699ae53f9001","Path":"/media/music/10235967_Soul_In_The_Dark_Extended_Mix.flac","EncoderPath":null,"EncoderProtocol":null,"Type":0,"Container":"flac","Size":45480988,"Name":"10235967_Soul_In_The_Dark_Extended_Mix","IsRemote":false,"ETag":"12a860b0955bd23041cf4ceaaa09bdcc","RunTimeTicks":3251470848,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"OpenToken":null,"RequiresClosing":false,"LiveStreamId":null,"BufferMs":null,"RequiresLooping":false,"SupportsProbing":true,"VideoType":null,"IsoType":null,"Video3DFormat":null,"MediaStreams":[{"Codec":"flac","CodecTag":null,"Language":null,"ColorRange":null,"ColorSpace":null,"ColorTransfer":null,"ColorPrimaries":null,"Comment":null,"TimeBase":"1/44100","CodecTimeBase":"1/44100","Title":null,"VideoRange":null,"localizedUndefined":null,"localizedDefault":null,"localizedForced":null,"DisplayTitle":"FLAC - Stereo","NalLengthSize":null,"IsInterlaced":false,"IsAVC":null,"ChannelLayout":"stereo","BitRate":1119025,"BitDepth":16,"RefFrames":null,"PacketLength":null,"Channels":2,"SampleRate":44100,"IsDefault":false,"IsForced":false,"Height":null,"Width":null,"AverageFrameRate":null,"RealFrameRate":null,"Profile":null,"Type":0,"AspectRatio":null,"Index":0,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":null,"Level":0,"IsAnamorphic":null},{"Codec":"png","CodecTag":null,"Language":null,"ColorRange":null,"ColorSpace":null,"ColorTransfer":null,"ColorPrimaries":null,"Comment":"Publisher/Studio logotype","TimeBase":"1/90000","CodecTimeBase":"0/1","Title":null,"VideoRange":null,"localizedUndefined":null,"localizedDefault":null,"localizedForced":null,"DisplayTitle":null,"NalLengthSize":null,"IsInterlaced":false,"IsAVC":null,"ChannelLayout":null,"BitRate":null,"BitDepth":null,"RefFrames":1,"PacketLength":null,"Channels":null,"SampleRate":null,"IsDefault":false,"IsForced":false,"Height":500,"Width":500,"AverageFrameRate":null,"RealFrameRate":90000,"Profile":null,"Type":3,"AspectRatio":"1:1","Index":1,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":"rgb24","Level":-99,"IsAnamorphic":null},{"Codec":"png","CodecTag":null,"Language":null,"ColorRange":null,"ColorSpace":null,"ColorTransfer":null,"ColorPrimaries":null,"Comment":"Cover (front)","TimeBase":"1/90000","CodecTimeBase":"0/1","Title":null,"VideoRange":null,"localizedUndefined":null,"localizedDefault":null,"localizedForced":null,"DisplayTitle":null,"NalLengthSize":null,"IsInterlaced":false,"IsAVC":null,"ChannelLayout":null,"BitRate":null,"BitDepth":null,"RefFrames":1,"PacketLength":null,"Channels":null,"SampleRate":null,"IsDefault":false,"IsForced":false,"Height":500,"Width":500,"AverageFrameRate":null,"RealFrameRate":90000,"Profile":null,"Type":3,"AspectRatio":"1:1","Index":2,"Score":null,"IsExternal":false,"DeliveryMethod":null,"DeliveryUrl":null,"IsExternalUrl":null,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Path":null,"PixelFormat":"rgb24","Level":-99,"IsAnamorphic":null}],"MediaAttachments":[],"Formats":[],"Bitrate":1119025,"Timestamp":null,"RequiredHttpHeaders":{},"TranscodingUrl":null,"TranscodingSubProtocol":null,"TranscodingContainer":null,"AnalyzeDurationMs":null,"DefaultAudioStreamIndex":null,"DefaultSubtitleStreamIndex":null}
/usr/lib/jellyfin-ffmpeg/ffmpeg -i file:"/media/music/10235967_Soul_In_The_Dark_Extended_Mix.flac" -threads 0 -vn -ab 384000 -ac 2 -id3v2_version 3 -write_id3v1 1 -y "/config/transcodes/fcbc3a5642291c2ba370b504ded25c80.aac"
ffmpeg version 4.3.2-Jellyfin Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-shared --disable-libxcb --disable-sdl2 --disable-xlib --enable-gpl --enable-version3 --enable-static --enable-libfontconfig --enable-fontconfig --enable-gmp --enable-gnutls --enable-libass --enable-libbluray --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --arch=amd64 --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-vdpau --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvenc --enable-nvdec --enable-ffnvcodec
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
Input #0, flac, from 'file:/media/music/10235967_Soul_In_The_Dark_Extended_Mix.flac':
Metadata:
comment : Purchased at Beatport.com
album : Soul In The Dark
TBPM : 136
genre : Trance
TDOR : 2018-02-19
date : 2018-02-19
encoded_by : Beatport
TFLT : AIFF
TIT1 : Suanda Voice
title : Soul In The Dark (Extended Mix)
TKEY : Gbmin
artist : Adip Kiyoi, Vika
publisher : Suanda Voice
track : 1
TSRC : GBKQU1811544
encoder : Lavf58.76.100
Duration: 00:05:25.15, start: 0.000000, bitrate: 1119 kb/s
Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
Stream #0:1: Video: png, rgb24(pc), 500x500 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn, 90k tbc (attached pic)
Metadata:
comment : Publisher/Studio logotype
Stream #0:2: Video: png, rgb24(pc), 500x500 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn, 90k tbc (attached pic)
Metadata:
comment : Cover (front)
Stream mapping:
Stream #0:0 -> #0:0 (flac (native) -> aac (native))
Press [q] to stop, [?] for help
Output #0, adts, to '/config/transcodes/fcbc3a5642291c2ba370b504ded25c80.aac':
Metadata:
comment : Purchased at Beatport.com
album : Soul In The Dark
TBPM : 136
genre : Trance
TDOR : 2018-02-19
date : 2018-02-19
encoded_by : Beatport
TFLT : AIFF
TIT1 : Suanda Voice
title : Soul In The Dark (Extended Mix)
TKEY : Gbmin
artist : Adip Kiyoi, Vika
publisher : Suanda Voice
track : 1
TSRC : GBKQU1811544
encoder : Lavf58.45.100
Stream #0:0: Audio: aac (LC), 44100 Hz, stereo, fltp (16 bit), 384 kb/s
Metadata:
encoder : Lavc58.91.100 aac
size= 1792kB time=00:00:41.33 bitrate= 355.2kbits/s speed=82.5x
size= 4096kB time=00:01:26.77 bitrate= 386.7kbits/s speed=86.6x
size= 6144kB time=00:02:12.23 bitrate= 380.6kbits/s speed= 88x
size= 8192kB time=00:02:55.58 bitrate= 382.2kbits/s speed=87.6x
size= 10496kB time=00:03:43.35 bitrate= 385.0kbits/s speed=89.2x
size= 12800kB time=00:04:30.88 bitrate= 387.1kbits/s speed=90.2x
size= 14848kB time=00:05:16.34 bitrate= 384.5kbits/s speed=90.2x
size= 15223kB time=00:05:25.14 bitrate= 383.5kbits/s speed=83.1x
video:0kB audio:15127kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.632852%
[aac @ 0x55810a20eb40] Qavg: 1992.720
Stats for Nerds Screenshots
Server System (please complete the following information):
Client System (please complete the following information):
When trying to play a lossless FLAC music track on iOS the playback won't start. I thought it might be a server problem because of this log message:
[2022-01-03 14:54:59.726 +00:00] [INF] [28] Jellyfin.Api.Helpers.TranscodingJobHelper: Transcoding kill timer stopped for JobId "dcfbbaab5b7c46788bbbde8a04ec5a64" PlaySessionId "f9c11d6e2f944ed184a226c90bd48932". Killing transcoding
but that seems to be a red herring. I copied the transcode (fcbc3a5642291c2ba370b504ded25c80.aac) to my desktop and played it with VLC so I don't think there's anything wrong with the transcode.
It might still be a server problem but I have no idea how to diagnose it myself so I thought I'd start by posting an issue here.
By the way, thanks so much for adding playlist support, it's very handy!
would it be possible to release an IPA file for users to sideload with altstore until the app is on AppStore?
Currently we only have access to the most recent albums or the full list. It would be nice to be able to browse by genre and/or by folder.
Hey there,
it would be nice if gapless playback could be supported.
Especially for live albums or mix CDs that would be awesome.
thanks
According to a TestFlight report, FLAC is not currently working. Let's check out what's going wrong there.
Hey! The App Android version crashes when i try to open it.
Im using the latest release (v1.2.5) and Android 12 (OneUI)
I also tried it on multiple devices.
You can see more in the video attached to this Issue
Video of crash
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.