Coder Social home page Coder Social logo

jellyfin / jellyfin-expo Goto Github PK

View Code? Open in Web Editor NEW
267.0 267.0 62.0 3.46 MB

Jellyfin Mobile for iOS

Home Page: https://jellyfin.org

License: Mozilla Public License 2.0

JavaScript 97.62% TypeScript 2.38%
expo hacktoberfest ios jellyfin media-playback react-native

jellyfin-expo's Introduction

Jellyfin

The Free Software Media System


Logo Banner

GPL 2.0 License Current Release Translation Status Azure Builds Docker Pull Count
Donate Submit Feature Requests Chat on Matrix Join our Subreddit Release RSS Feed Master Commits RSS Feed


Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it. We welcome anyone who is interested in joining us in our quest!

For further details, please see our documentation page. To receive the latest updates, get help with Jellyfin, and join the community, please visit one of our communication channels. For more information about the project, please see our about page.

Want to get started?
Check out our downloads page or our installation guide, then see our quick start guide. You can also build from source.

Something not working right?
Open an Issue on GitHub.

Want to contribute?
Check out our contributing choose-your-own-adventure to see where you can help, then see our contributing guide and our community standards.

New idea or improvement?
Check out our feature request hub.

Don't see Jellyfin in your language?
Check out our Weblate instance to help translate Jellyfin and its subprojects.

Detailed Translation Status

Jellyfin Server

This repository contains the code for Jellyfin's backend server. Note that this is only one of many projects under the Jellyfin GitHub organization on GitHub. If you want to contribute, you can start by checking out our documentation to see what to work on.

Server Development

These instructions will help you get set up with a local development environment in order to contribute to this repository. Before you start, please be sure to completely read our guidelines on development contributions. Note that this project is supported on all major operating systems except FreeBSD, which is still incompatible.

Prerequisites

Before the project can be built, you must first install the .NET 8.0 SDK on your system.

Instructions to run this project from the command line are included here, but you will also need to install an IDE if you want to debug the server while it is running. Any IDE that supports .NET 6 development will work, but two options are recent versions of Visual Studio (at least 2022) and Visual Studio Code.

ffmpeg will also need to be installed.

Cloning the Repository

After dependencies are installed you will need to clone a local copy of this repository. If you just want to run the server from source you can clone this repository directly, but if you are intending to contribute code changes to the project, you should set up your own fork of the repository. The following example shows how you can clone the repository directly over HTTPS.

git clone https://github.com/jellyfin/jellyfin.git

Installing the Web Client

The server is configured to host the static files required for the web client in addition to serving the backend by default. Before you can run the server, you will need to get a copy of the web client since they are not included in this repository directly.

Note that it is also possible to host the web client separately from the web server with some additional configuration, in which case you can skip this step.

There are three options to get the files for the web client.

  1. Download one of the finished builds from the Azure DevOps pipeline. You can download the build for a specific release by looking at the branches tab of the pipelines page.
  2. Build them from source following the instructions on the jellyfin-web repository
  3. Get the pre-built files from an existing installation of the server. For example, with a Windows server installation the client files are located at C:\Program Files\Jellyfin\Server\jellyfin-web

Running The Server

The following instructions will help you get the project up and running via the command line, or your preferred IDE.

Running With Visual Studio

To run the project with Visual Studio you can open the Solution (.sln) file and then press F5 to run the server.

Running With Visual Studio Code

To run the project with Visual Studio Code you will first need to open the repository directory with Visual Studio Code using the Open Folder... option.

Second, you need to install the recommended extensions for the workspace. Note that extension recommendations are classified as either "Workspace Recommendations" or "Other Recommendations", but only the "Workspace Recommendations" are required.

After the required extensions are installed, you can run the server by pressing F5.

Running From The Command Line

To run the server from the command line you can use the dotnet run command. The example below shows how to do this if you have cloned the repository into a directory named jellyfin (the default directory name) and should work on all operating systems.

cd jellyfin                          # Move into the repository directory
dotnet run --project Jellyfin.Server --webdir /absolute/path/to/jellyfin-web/dist # Run the server startup project

A second option is to build the project and then run the resulting executable file directly. When running the executable directly you can easily add command line options. Add the --help flag to list details on all the supported command line options.

  1. Build the project
dotnet build                       # Build the project
cd Jellyfin.Server/bin/Debug/net8.0 # Change into the build output directory
  1. Execute the build output. On Linux, Mac, etc. use ./jellyfin and on Windows use jellyfin.exe.

Accessing the Hosted Web Client

If the Server is configured to host the Web Client, and the Server is running, the Web Client can be accessed at http://localhost:8096 by default.

API documentation can be viewed at http://localhost:8096/api-docs/swagger/index.html

Running from GH-Codespaces

As Jellyfin will run on a container on a github hosted server, JF needs to handle some things differently.

NOTE: Depending on the selected configuration (if you just click 'create codespace' it will create a default configuration one) it might take 20-30 secounds to load all extensions and prepare the enviorment while vscode is already open. Just give it some time and wait until you see Downloading .NET version(s) 7.0.15~x64 ...... Done! in the output tab.

NOTE: If you want to access the JF instance from outside, like with a WebClient on another PC, remember to set the "ports" in the lower VsCode window to public.

NOTE: When first opening the server instance with any WebUI, you will be send to the login instead of the setup page. Refresh the login page once and you should be redirected to the Setup.

There are two configurations for you to chose from.

Default - Development Jellyfin Server

This creates a container that has everything to run and debug the Jellyfin Media server but does not setup anything else. Each time you create a new container you have to run though the whole setup again. There is also no ffmpeg, webclient or media preloaded. Use the .NET Launch (nowebclient) lunch config to start the server.

Keep in mind that as this has no web client you have to connect to it via an extenal client. This can be just another codespace container running the WebUI. vuejs does not work from the getgo as it does not support the setup steps.

Development Jellyfin Server ffmpeg

this extens the default server with an default installation of ffmpeg6 though the means described here: https://jellyfin.org/docs/general/installation/linux#repository-manual If you want to install a specific ffmpeg version, follow the comments embedded in the .devcontainer/Dev - Server Ffmpeg/install.ffmpeg.sh file.

Use the ghcs .NET Launch (nowebclient, ffmpeg) launch config to run with the jellyfin-ffmpeg enabled.

Running The Tests

This repository also includes unit tests that are used to validate functionality as part of a CI pipeline on Azure. There are several ways to run these tests.

  1. Run tests from the command line using dotnet test
  2. Run tests in Visual Studio using the Test Explorer
  3. Run individual tests in Visual Studio Code using the associated CodeLens annotation

Advanced Configuration

The following sections describe some more advanced scenarios for running the server from source that build upon the standard instructions above.

Hosting The Web Client Separately

It is not necessary to host the frontend web client as part of the backend server. Hosting these two components separately may be useful for frontend developers who would prefer to host the client in a separate webpack development server for a tighter development loop. See the jellyfin-web repo for instructions on how to do this.

To instruct the server not to host the web content, there is a nowebclient configuration flag that must be set. This can specified using the command line switch --nowebclient or the environment variable JELLYFIN_NOWEBCONTENT=true.

Since this is a common scenario, there is also a separate launch profile defined for Visual Studio called Jellyfin.Server (nowebcontent) that can be selected from the 'Start Debugging' dropdown in the main toolbar.

NOTE: The setup wizard can not be run if the web client is hosted separately.


This project is supported by:

DigitalOcean ย  JetBrains logo

jellyfin-expo's People

Contributors

4d1m avatar anthonylavado avatar arbitrate3280 avatar bilde2910 avatar castillofrancodamian avatar cierdek avatar danielxb-ar avatar dependabot[bot] avatar djcand avatar dkanada avatar ferferga avatar h1dden-da3m0n avatar heyhippari avatar hoanghuy309 avatar jiachenghou-pnr avatar kucharczykl avatar larvitar avatar moritzleick avatar nextlooper42 avatar nyanmisaka avatar oatavandi avatar renovate[bot] avatar rimasx avatar saddfox avatar thornbill avatar tschwery avatar weevild avatar wolonggl avatar wwwesten avatar xuhao61 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jellyfin-expo's Issues

"Could not connect to server error" with Apache VirtualHost configuration on port 8443

The configuration works on browser but not on the app.
I have configured a user test with password test for your convenience on
https://michaelecke.com:8443
I canot use https://michaelecke.com because I have a photography web there.

Thanks a lot for the support!!

Configuration on Apache:

<VirtualHost *:8443>
ServerName michaelecke.com
ProxyPreserveHost On
ProxyPass "/socket" "ws://localhost:8096/socket"
ProxyPassReverse "/socket" "ws://localhost:8096/socket"
ProxyPass "/" "http://localhost:8096/"
ProxyPassReverse "/" "http://localhost:8096/"
SSLEngine on
SSLCertificateFile /etc/httpd/namecheap/michaelecke_com.crt
SSLCertificateKeyFile /etc/httpd/namecheap/server.key
Protocols h2 http/1.1
SSLCipherSuite HIGH:RC4-SHA:AES128-SHA:!aNULL:!MD5
SSLHonorCipherOrder on
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
ErrorLog "/var/log/httpd/michaelecke.com.8443_error_log"
CustomLog "/var/log/httpd/michaelecke.com.8443_access_log" combined

Live TV doesn't work

1280x720 H264 stream via TV HeadEnd.

Works on desktop so I think is related to codecs in iOS player (maybe add the option to stream to external app like VLC?)

FYI h265 didn't work either

this is the log on the server:

**ffmpeg-remux-4bc6dc8e-4ad3-409b-ab26-e31bf92fc7c3.txt**

http://192.168.1.129:8096/videos/0d1353c1-fa79-c130-628d-1e4c805e3e8c/live.m3u8?DeviceId=TW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxM18zXzEgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBNb2JpbGUvMTVFMTQ4fDE1ODExOTgzNzM4NTE1&MediaSourceId=18d600be2d69e5f574e495eaa1a680f8&VideoCodec=h264&AudioCodec=mp3,aac&AudioStreamIndex=-1&VideoBitrate=139878125&AudioBitrate=121875&PlaySessionId=11b58185728c492684bdda0587f20fbf&api_key=ca7043a19a3d4a4bbde12d9ceda558dc&LiveStreamId=a17c75760a04e99b68cf766e11316e1c_09efa0d56b934a82adec00a87b837fb0_18d600be2d69e5f574e495eaa1a680f8&TranscodingMaxAudioChannels=2&RequireAvc=false&SegmentContainer=ts&MinSegments=2&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline&h264-level=51&TranscodeReasons=ContainerNotSupported,VideoCodecNotSupported,AudioCodecNotSupported

{"Protocol":"Http","Id":"18d600be2d69e5f574e495eaa1a680f8","Path":"http://127.0.0.1:8096/LiveTv/LiveStreamFiles/a4c082328f3e42ed965579106cb7cffe/stream.ts","Type":"Default","Container":"mpegts","IsRemote":false,"ReadAtNativeFramerate":false,"IgnoreDts":true,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":true,"RequiresOpening":true,"RequiresClosing":true,"LiveStreamId":"a17c75760a04e99b68cf766e11316e1c_09efa0d56b934a82adec00a87b837fb0_18d600be2d69e5f574e495eaa1a680f8","RequiresLooping":false,"SupportsProbing":true,"MediaStreams":[{"Codec":"h264","TimeBase":"1/90000","CodecTimeBase":"1/50","VideoRange":"SDR","DisplayTitle":"720P H264","NalLengthSize":"0","IsInterlaced":false,"BitRate":8000000,"BitDepth":8,"RefFrames":1,"IsDefault":false,"IsForced":false,"Height":720,"Width":1280,"AverageFrameRate":25,"RealFrameRate":25,"Profile":"High","Type":"Video","AspectRatio":"16:9","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"PixelFormat":"yuvj420p","Level":31,"IsAnamorphic":false},{"Codec":"aac","TimeBase":"1/90000","CodecTimeBase":"1/48000","DisplayTitle":"AAC stereo","IsInterlaced":false,"ChannelLayout":"stereo","BitRate":121875,"Channels":2,"SampleRate":48000,"IsDefault":false,"IsForced":false,"Profile":"LC","Type":"Audio","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0}],"Formats":[],"Bitrate":8121875,"RequiredHttpHeaders":{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.85 Safari/537.36"},"AnalyzeDurationMs":3000}

C:\Program Files\Jellyfin\Server\ffmpeg.exe -analyzeduration 3000000 -user_agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.85 Safari/537.36" -fflags +igndts+genpts -i "http://127.0.0.1:8096/LiveTv/LiveStreamFiles/a4c082328f3e42ed965579106cb7cffe/stream.ts" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 copy -flags -global_header -vsync cfr -codec:a:0 libmp3lame -ac 2 -ab 121875  -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time 6  -individual_header_trailer 0 -segment_format mpegts -segment_list_entry_prefix "hls/c4714247b4f53c00463c38abc5336eaa/" -segment_list_type m3u8 -segment_start_number 0 -segment_list "C:\ProgramData\Jellyfin\Server\transcoding-temp\transcodes\transcodes\transcodes\transcodes\transcodes\c4714247b4f53c00463c38abc5336eaa.m3u8" -y "C:\ProgramData\Jellyfin\Server\transcoding-temp\transcodes\transcodes\transcodes\transcodes\transcodes\c4714247b4f53c00463c38abc5336eaa%d.ts"


ffmpeg version N-95234-g35a63a9127 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9.2.0 (Rev2, Built by MSYS2 project)
  configuration:  --disable-static --enable-shared --enable-amf --enable-bzlib --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-iconv --enable-lzma --enable-nvenc --enable-zlib --enable-sdl2 --enable-ffnvcodec --enable-nvdec --enable-gmp --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libdav1d --disable-debug --enable-fontconfig --enable-libass --enable-libbluray --enable-libfreetype --enable-libmfx --enable-libmysofa --enable-libopencore-amrnb --enable-libopenjpeg --enable-libsnappy --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libwavpack --enable-libwebp --enable-libxml2 --enable-libzimg --enable-libshine --enable-gpl --enable-libxvid --enable-libopenmpt --enable-version3 --enable-libsvtav1 --enable-librtmp --enable-gnutls --extra-cflags=-DLIBTWOLAME_STATIC --extra-libs=-lstdc++ --extra-cflags=-DLIBXML_STATIC --shlibdir=/local64/bin-video
  libavutil      56. 35.100 / 56. 35.100
  libavcodec     58. 59.101 / 58. 59.101
  libavformat    58. 33.100 / 58. 33.100
  libavdevice    58.  9.100 / 58.  9.100
  libavfilter     7. 62.100 /  7. 62.100
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
[h264 @ 00000264b3731400] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 00000264b3731400] decode_slice_header error
[h264 @ 00000264b3731400] no frame!
[h264 @ 00000264b3731400] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 00000264b3731400] decode_slice_header error
[h264 @ 00000264b3731400] no frame!
[h264 @ 00000264b3731400] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 00000264b3731400] decode_slice_header error
[h264 @ 00000264b3731400] no frame!
[h264 @ 00000264b3731400] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 00000264b3731400] decode_slice_header error
[h264 @ 00000264b3731400] no frame!
[h264 @ 00000264b3731400] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 00000264b3731400] decode_slice_header error
[h264 @ 00000264b3731400] no frame!
[h264 @ 00000264b3731400] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 00000264b3731400] decode_slice_header error
[h264 @ 00000264b3731400] no frame!
[h264 @ 00000264b3731400] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 00000264b3731400] decode_slice_header error
[h264 @ 00000264b3731400] no frame!
[h264 @ 00000264b3731400] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 00000264b3731400] decode_slice_header error
[h264 @ 00000264b3731400] no frame!
[h264 @ 00000264b3731400] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 00000264b3731400] decode_slice_header error
[h264 @ 00000264b3731400] no frame!
[h264 @ 00000264b3731400] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 00000264b3731400] decode_slice_header error
[h264 @ 00000264b3731400] no frame!
[h264 @ 00000264b3731400] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 00000264b3731400] decode_slice_header error
[h264 @ 00000264b3731400] no frame!
[h264 @ 00000264b3731400] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 00000264b3731400] decode_slice_header error
[h264 @ 00000264b3731400] no frame!
[h264 @ 00000264b3731400] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 00000264b3731400] decode_slice_header error
[h264 @ 00000264b3731400] no frame!
[h264 @ 00000264b3731400] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 00000264b3731400] decode_slice_header error
[h264 @ 00000264b3731400] no frame!
[h264 @ 00000264b3731400] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 00000264b3731400] decode_slice_header error
[h264 @ 00000264b3731400] no frame!
Input #0, mpegts, from 'http://127.0.0.1:8096/LiveTv/LiveStreamFiles/a4c082328f3e42ed965579106cb7cffe/stream.ts':
  Duration: N/A, start: 50103.192022, bitrate: N/A
  Program 2 
    Stream #0:0[0x1]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuvj420p(pc, bt709, progressive), 1280x720, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x2]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 98 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
[segment @ 00000264b6088040] Opening 'C:\ProgramData\Jellyfin\Server\transcoding-temp\transcodes\transcodes\transcodes\transcodes\transcodes\c4714247b4f53c00463c38abc5336eaa0.ts' for writing
Output #0, segment, to 'C:\ProgramData\Jellyfin\Server\transcoding-temp\transcodes\transcodes\transcodes\transcodes\transcodes\c4714247b4f53c00463c38abc5336eaa%d.ts':
  Metadata:
    encoder         : Lavf58.33.100
    Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuvj420p(pc, bt709, progressive), 1280x720, q=2-31, 25 fps, 25 tbr, 90k tbn, 25 tbc
    Stream #0:1: Audio: mp3 (libmp3lame), 48000 Hz, stereo, fltp, 121 kb/s
    Metadata:
      encoder         : Lavc58.59.101 libmp3lame
frame=   65 fps=0.0 q=-1.0 size=N/A time=00:00:03.16 bitrate=N/A speed=5.65x    
frame=   89 fps= 65 q=-1.0 size=N/A time=00:00:04.12 bitrate=N/A speed=3.01x    
frame=   99 fps= 50 q=-1.0 size=N/A time=00:00:04.53 bitrate=N/A speed=2.27x    
frame=  123 fps= 45 q=-1.0 size=N/A time=00:00:05.48 bitrate=N/A speed=   2x    
frame=  135 fps= 40 q=-1.0 size=N/A time=00:00:05.96 bitrate=N/A speed=1.77x    
[segment @ 00000264b6088040] Opening 'C:\ProgramData\Jellyfin\Server\transcoding-temp\transcodes\transcodes\transcodes\transcodes\transcodes\c4714247b4f53c00463c38abc5336eaa.m3u8.tmp' for writing
[segment @ 00000264b6088040] Opening 'C:\ProgramData\Jellyfin\Server\transcoding-temp\transcodes\transcodes\transcodes\transcodes\transcodes\c4714247b4f53c00463c38abc5336eaa1.ts' for writing
frame=  158 fps= 38 q=-1.0 size=N/A time=00:00:06.88 bitrate=N/A speed=1.65x    
frame=  171 fps= 36 q=-1.0 size=N/A time=00:00:07.40 bitrate=N/A speed=1.56x    
frame=  192 fps= 35 q=-1.0 size=N/A time=00:00:08.24 bitrate=N/A speed=1.48x    
frame=  203 fps= 33 q=-1.0 size=N/A time=00:00:08.68 bitrate=N/A speed= 1.4x    
frame=  227 fps= 32 q=-1.0 size=N/A time=00:00:09.67 bitrate=N/A speed=1.37x    
frame=  252 fps= 31 q=-1.0 size=N/A time=00:00:10.65 bitrate=N/A speed=1.31x    
frame=  274 fps= 30 q=-1.0 size=N/A time=00:00:11.52 bitrate=N/A speed=1.28x    
frame=  299 fps= 30 q=-1.0 size=N/A time=00:00:12.55 bitrate=N/A speed=1.28x    
[segment @ 00000264b6088040] Opening 'C:\ProgramData\Jellyfin\Server\transcoding-temp\transcodes\transcodes\transcodes\transcodes\transcodes\c4714247b4f53c00463c38abc5336eaa.m3u8.tmp' for writing
[segment @ 00000264b6088040] Opening 'C:\ProgramData\Jellyfin\Server\transcoding-temp\transcodes\transcodes\transcodes\transcodes\transcodes\c4714247b4f53c00463c38abc5336eaa2.ts' for writing
frame=  308 fps= 30 q=-1.0 size=N/A time=00:00:12.91 bitrate=N/A speed=1.24x    
frame=  331 fps= 29 q=-1.0 size=N/A time=00:00:13.80 bitrate=N/A speed=1.23x    
frame=  345 fps= 29 q=-1.0 size=N/A time=00:00:14.36 bitrate=N/A speed=1.22x    
frame=  367 fps= 29 q=-1.0 size=N/A time=00:00:15.24 bitrate=N/A speed=1.19x    
frame=  392 fps= 29 q=-1.0 size=N/A time=00:00:16.24 bitrate=N/A speed=1.19x    
frame=  404 fps= 28 q=-1.0 size=N/A time=00:00:16.72 bitrate=N/A speed=1.17x    
frame=  426 fps= 28 q=-1.0 size=N/A time=00:00:17.60 bitrate=N/A speed=1.17x    
frame=  450 fps= 28 q=-1.0 size=N/A time=00:00:18.56 bitrate=N/A speed=1.17x    
[segment @ 00000264b6088040] Opening 'C:\ProgramData\Jellyfin\Server\transcoding-temp\transcodes\transcodes\transcodes\transcodes\transcodes\c4714247b4f53c00463c38abc5336eaa.m3u8.tmp' for writing
[segment @ 00000264b6088040] Opening 'C:\ProgramData\Jellyfin\Server\transcoding-temp\transcodes\transcodes\transcodes\transcodes\transcodes\c4714247b4f53c00463c38abc5336eaa3.ts' for writing
frame=  462 fps= 28 q=-1.0 size=N/A time=00:00:19.04 bitrate=N/A speed=1.16x    
frame=  484 fps= 28 q=-1.0 size=N/A time=00:00:19.94 bitrate=N/A speed=1.14x    
frame=  510 fps= 28 q=-1.0 size=N/A time=00:00:20.96 bitrate=N/A speed=1.14x    
frame=  535 fps= 28 q=-1.0 size=N/A time=00:00:21.98 bitrate=N/A speed=1.14x    
frame=  545 fps= 27 q=-1.0 size=N/A time=00:00:22.36 bitrate=N/A speed=1.13x    
frame=  570 fps= 28 q=-1.0 size=N/A time=00:00:23.37 bitrate=N/A speed=1.13x    
frame=  581 fps= 27 q=-1.0 size=N/A time=00:00:23.81 bitrate=N/A speed=1.12x    
[segment @ 00000264b6088040] Opening 'C:\ProgramData\Jellyfin\Server\transcoding-temp\transcodes\transcodes\transcodes\transcodes\transcodes\c4714247b4f53c00463c38abc5336eaa.m3u8.tmp' for writing
[segment @ 00000264b6088040] Opening 'C:\ProgramData\Jellyfin\Server\transcoding-temp\transcodes\transcodes\transcodes\transcodes\transcodes\c4714247b4f53c00463c38abc5336eaa4.ts' for writing
frame=  603 fps= 27 q=-1.0 size=N/A time=00:00:24.69 bitrate=N/A speed=1.11x    
frame=  630 fps= 27 q=-1.0 size=N/A time=00:00:25.77 bitrate=N/A speed=1.12x    
frame=  651 fps= 27 q=-1.0 size=N/A time=00:00:26.61 bitrate=N/A speed=1.11x    
frame=  662 fps= 27 q=-1.0 size=N/A time=00:00:27.05 bitrate=N/A speed= 1.1x    
frame=  688 fps= 27 q=-1.0 size=N/A time=00:00:28.10 bitrate=N/A speed= 1.1x    
frame=  712 fps= 27 q=-1.0 size=N/A time=00:00:29.05 bitrate=N/A speed=1.11x    `

No playback on iPad

Jellyfin client on iPad Pro 9.7-inch, iOS 13.3.1. The app launches, and I can browse my libraries, but playing any media only gives a black screen and no audio. The media controls are available on screen and the location mark is moving forward, but the media is not visible or audible.

Correct ITMS-90809: Deprecated API Usage error

For our current package, we are getting this warning when uploading to App Store Connect:

ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs . See https://developer.apple.com/documentation/uikit/uiwebview for more information.

There is some info on the Expo forums about how this is fixed in SDK37:
https://forums.expo.io/t/remove-uiwebview-usage-to-get-apple-to-accept-submission/32960

We should also review our own code for uses of it.

Flac file won't play on Iphone - fails with ffmpeg error

Describe the bug
Playing a flac file on iphone in either the app or in firefox shows the file playing but no sound.
Playing the same file on the server via firefox works ok

To Reproduce
Play a FLAC music file on iphone via testflight app or in browser

Expected behavior
file plays ( with sound)

Logs

http://192.168.0.10:8096/Audio/10b66951da219c3a06ccf6a74a321089/hls1/main/20.aac?UserId=44f60de0f07d4206ba44db2e77fe47aa&DeviceId=TW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxMl8zXzEgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBNb2JpbGUvMTVFMTQ4fDE1NzUwMzczMzE0MDM1&MaxStreamingBitrate=800000&Container=mp3%7Cmp3%2Caac%2Cm4a%7Caac%2Cflac%2Cwav&TranscodingContainer=aac&TranscodingProtocol=hls&AudioCodec=aac&api_key=1bf0afbeb5d341418020119642f8c66c&PlaySessionId=1575051617482&StartTimeTicks=0&EnableRedirection=true&EnableRemoteMedia=false&SegmentContainer=aac

{"Protocol":"File","Id":"10b66951da219c3a06ccf6a74a321089","Path":"/data/muziek/Amon Amarth/2008 Twilight Of The Thunder God/01 Twilight Of The Thunder God.flac","Type":"Default","Container":"flac","Size":32282954,"Name":"01 Twilight Of The Thunder God","IsRemote":false,"ETag":"7231f653b9d99aeed300dc208954a357","RunTimeTicks":2487470080,"ReadAtNativeFramerate":false,"IgnoreDts":false,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":true,"MediaStreams":[{"Codec":"flac","TimeBase":"1/44100","CodecTimeBase":"1/44100","DisplayTitle":"FLAC stereo","IsInterlaced":false,"ChannelLayout":"stereo","BitDepth":16,"Channels":2,"SampleRate":44100,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Level":0}],"Formats":[],"Bitrate":1038259,"RequiredHttpHeaders":{}}

/usr/lib/jellyfin-ffmpeg/ffmpeg -ss 00:01:00.000 -i file:"/data/muziek/Amon Amarth/2008 Twilight Of The Thunder God/01 Twilight Of The Thunder God.flac" -map_metadata -1 -map_chapters -1 -threads 0   -acodec aac -strict experimental -ac 2 -vn -f hls -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -hls_time 3 -individual_header_trailer 0 -hls_segment_type aac -start_number 0 -hls_segment_filename "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/7326e8e4af757c334d22674e53c1af1e%d.aac" -hls_playlist_type vod -hls_list_size 0 -y "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/7326e8e4af757c334d22674e53c1af1e.m3u8"


ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8 (Ubuntu 8.3.0-6ubuntu1)
  configuration: --toolchain=hardened --prefix=/usr --target-os=linux --enable-cross-compile --extra-cflags=--static --enable-gpl --enable-static --disable-doc --disable-ffplay --disable-shared --disable-libxcb --disable-sdl2 --disable-xlib --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-libwebp --enable-libx264 --enable-libx265 --enable-libzvbi --enable-omx --enable-omx-rpi --enable-version3 --enable-vaapi --enable-vdpau --arch=amd64 --enable-nvenc --enable-nvdec
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, flac, from 'file:/data/muziek/Amon Amarth/2008 Twilight Of The Thunder God/01 Twilight Of The Thunder God.flac':
  Metadata:
    ALBUM           : Twilight of the Thunder God
    album_artist    : Amon Amarth
    ARTIST          : Amon Amarth
    date            : 2008
    genre           : Metal
    TITLE           : Twilight of the Thunder God
    track           : 01
  Duration: 00:04:08.75, start: 0.000000, bitrate: 1038 kb/s
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
Stream mapping:
  Stream #0:0 -> #0:0 (flac (native) -> aac (native))
Press [q] to stop, [?] for help
[hls muxer @ 0x56486bdd8f40] [Eval @ 0x7ffe8f62d890] Undefined constant or missing '(' in 'aac'
[hls muxer @ 0x56486bdd8f40] Unable to parse option value "aac"
[hls muxer @ 0x56486bdd8f40] Error setting option hls_segment_type to value aac.
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:0 -- 
[aac @ 0x56486bddb140] Qavg: -nan
Conversion failed!

System :

  • OS: [Kubuntu 19.04 x86_64]
  • Browser: [e.g. Firefox, Chrome, Safari]
  • Jellyfin Version: [10.4.2-1]
  • Reverse proxy: [none, on LAN]

Additional context
works fine on Jellyfin version: "10.3.7.0"

Add Chromecast Support

AirPlay is natively supported, we just need to add the button in the controls in Web.

To make it a more complete client, Chromecast should be added, to finally give iOS users the option of using it.

A quick search shows that we might have to eject and use ExpoKit, so I'm unsure how to proceed.

Direct play H.264 Hi10P

Playing H.264 files with Profile Hi10P (Level 5) results in transcoding. Apples A9 and later support Hi10P decoding, so it should work. It plays fine with Infuse 6 and MrMC on my iPhone SE.

Is this a limitation of using a web wrapper instead of a native app? An issue with Expo?

Multiple IPs/domains

I use a reverse proxy outside my network to SSL my server. I'd like to specify different IP addresses for different situations (or just manage different accounts).

Happy to contribute.

Random Repeat

Random portions of tv shows repeat, sometimes multiple times during normal playback.

At one point, I couldnโ€™t fast forward past a certain section and every time I tried manually dragging the slider, it would revert back to a singular spot.

Checked file by playing infuse, and it played without problem.

How to contribute?

I am starting to use jellyfin and as an IOS user, I would like to help contribute to this project if possible. Is the current state of the app simply an embedded browser? Is there a roadmap or list of tasks that I can help contribute towards? ๐Ÿ˜Š

View Stays in Landscape

Steps To Reproduce

  1. Enable Rotation Lock on your device.
  2. Start playing back a video, which forces the view to landscape.
  3. Stop playback of the video by pressing the back button at the top left.
  4. The view for all pages is now landscape.

You can get out of this if you disable rotation lock, start a video again, and then stop. It should allow things to rotate back to normal.

iphone๏ผˆ11.2.6๏ผ‰Connection Failure

My iPhone 6S (11.2.6) uses the jellyfin for IOS 0.1.1 (5) client to connect to the jellyfin media server, and prompts connection failure when logging in, but Safari can log in normally. My other iPhone 6S plus (11.2.2) can use the jellyfin for IOS 0.1.1 (5) client to log in to the jellyfin media server.
ios_11 2 6

Linux Server๏ผšUbuntu Server 18.04.2
Jellyfin Server๏ผš10.5.0
Reverse proxy๏ผšNginx/1.14.0๏ผˆUbuntu๏ผ‰Enable https

Aspect ratio issue on Vizio Smartcast tv

I'm having an odd issue when playing back 2.35:1 aspect ratio videos on my Vizio Smartcast tv (through Apple AirPlay). The video will stretch vertically to just a little wider than 16:9. I have tested the same videos on iOS, browser, and Roku, and they work fine. Oddly, I was having the same issue with Plex playback on the same tv (through native Plex app on tv), and was able to correct it by turning off direct play and direct stream. I don't see an option to force a transcode through Jellyfin, though.

No such file or directory: "install"

Hi,
I try to install following the build process, step 1 works not issues, on step 2 I get an error:{Errno2} No such file or directory: 'install'

This is the content of the directory:

mathieu@bubuntu:/home$ cd jellyfin-expo/
mathieu@bubuntu:/home/jellyfin-expo$ ls -al
total 712
drwxr-xr-x 11 root root   4096 Jun 22 21:38 .
drwxr-xr-x  4 root root   4096 Jun 22 21:31 ..
-rw-r--r--  1 root root   1982 Jun 22 21:31 App.js
-rw-r--r--  1 root root    826 Jun 22 21:31 app.json
drwxr-xr-x  4 root root   4096 Jun 22 21:31 assets
-rw-r--r--  1 root root    316 Jun 22 21:31 babel.config.js
drwxr-xr-x  2 root root   4096 Jun 22 21:31 components
drwxr-xr-x  2 root root   4096 Jun 22 21:31 constants
-rw-r--r--  1 root root   1440 Jun 22 21:31 .eslintrc.json
drwxr-xr-x  8 root root   4096 Jun 22 21:31 .git
-rw-r--r--  1 root root    111 Jun 22 21:31 .gitignore
drwxr-xr-x 10 root root   4096 Jun 22 21:38 jellyfin-expo
-rw-r--r--  1 root root  16725 Jun 22 21:31 LICENSE
drwxr-xr-x  2 root root   4096 Jun 22 21:31 navigation
-rw-r--r--  1 root root   1530 Jun 22 21:31 package.json
-rw-r--r--  1 root root    683 Jun 22 21:31 README.md
drwxr-xr-x  2 root root   4096 Jun 22 21:31 screens
drwxr-xr-x  2 root root   4096 Jun 22 21:31 __tests__
drwxr-xr-x  2 root root   4096 Jun 22 21:31 utils
-rw-r--r--  1 root root      3 Jun 22 21:31 .watchmanconfig
-rw-r--r--  1 root root 628643 Jun 22 21:31 yarn.lock
mathieu@bubuntu:/home/jellyfin-expo$ 

what am I doing wrong? please help

iPad v.10.3.4 Movie Playback Error

On servers that contain Movies or Series...unable to begin watching movies as i assume the Media player for this Ipad is not compatabile however when checking on the Admin Panel, the movie + movie runtime is shown even though nothing is shown on my side.

On my side though, all thats visible is a play button with an arrow through it diagonally, playlist (A-Z) and the Home and Settings below.

Same with Safari...opening links leads to a black screen with the URL. Saw this in another post but not sure if a definitive solution was found.There arent any issues with connection or the app itself. Music plays too without any hiccups. Just looking for a solution or troubleshooting method for my querry.

Thanks.

Crash when changing the server address

Hello,
I had the server running on aaa.example.com and everything was workign fine.
I recently changed the address to bbb.example and now the app is showing an error contaction the server. When I go to Settings to change the address, the app goes all blank and become unresponsive.
I guess it would be good to allow changing the server address without reinstalling the app.

When will it be released

I compiled and tested the app, but unfortunately it can only be tested on the LAN, when will it be released?

Directly play 4k video without transcoding

Currently, when I play 4K video on my iPad, it will be forced to transcoding.

Is it possible to directly play 4k video without transcoding? I noticed that my plex app allow me to do so, so iPad should be able to directly play 4k without transcoding.

Cannot Build

As per #30 (comment), I need to run

expo build:ios --release-channel testflight

to get a build ready for Testflight, which then will get pushed to the store.

Currently this is failing for a variety of reasons.

When I run the command, I'm advised that I need to run npm install because dependencies are missing. However, that doesn't seem to resolve everything.

Next, I try yarn install, and this is what I get back:

โžค YN0000: โ”Œ Resolution step
โžค YN0002: โ”‚ babel-preset-expo@npm:8.0.0 doesn't provide @babel/core@* requested by metro-react-native-babel-preset@npm:0.56.4
โžค YN0002: โ”‚ babel-preset-expo@npm:8.0.0 doesn't provide @babel/core@^7.0.0-0 requested by @babel/plugin-proposal-decorators@npm:7.8.3
โžค YN0002: โ”‚ babel-preset-expo@npm:8.0.0 doesn't provide @babel/core@^7.0.0-0 requested by @babel/preset-env@npm:7.8.3
โžค YN0002: โ”‚ expo@npm:36.0.2 doesn't provide react-native@* requested by @unimodules/react-native-adapter@npm:5.0.0
โžค YN0002: โ”‚ expo@npm:36.0.2 doesn't provide react@* requested by react-native-view-shot@npm:3.0.2
โžค YN0002: โ”‚ expo@npm:36.0.2 doesn't provide react-native@* requested by react-native-view-shot@npm:3.0.2
โžค YN0002: โ”‚ @expo/webpack-pwa-manifest-plugin@npm:1.2.18 [e0072] doesn't provide sharp-cli@^1.10.0 requested by @expo/image-utils@npm:0.2.12
โžค YN0002: โ”‚ @expo/xdl@npm:57.4.5 doesn't provide glob@* requested by glob-promise@npm:3.4.0
โžค YN0002: โ”‚ root-workspace-0b6124@workspace:. doesn't provide react-native-web@* requested by jest-expo@npm:36.0.1
โžค YN0002: โ”‚ jest-expo@npm:36.0.1 [dc3fc] doesn't provide @babel/core@^7.0.0 requested by babel-jest@npm:24.9.0
โžค YN0002: โ”‚ react-native-elements@npm:1.2.7 [dc3fc] doesn't provide react@^16.0.0 requested by react-native-ratings@npm:6.5.0
โžค YN0002: โ”‚ react-navigation@npm:3.13.0 [dc3fc] doesn't provide react-native-gesture-handler@* requested by @react-navigation/native@npm:3.6.2
โžค YN0002: โ”‚ react-navigation@npm:3.13.0 [dc3fc] doesn't provide react-native-gesture-handler@^1.0.12 requested by react-navigation-drawer@npm:1.4.0
โžค YN0002: โ”‚ react-navigation@npm:3.13.0 [dc3fc] doesn't provide react-native-screens@^1.0.0 || ^1.0.0-alpha requested by react-navigation-drawer@npm:1.4.0
โžค YN0002: โ”‚ react-navigation@npm:3.13.0 [dc3fc] doesn't provide react-native-gesture-handler@^1.0.0 requested by react-navigation-stack@npm:1.5.3
โžค YN0002: โ”‚ react-navigation@npm:3.13.0 [dc3fc] doesn't provide react-native-screens@^1.0.0 || ^1.0.0-alpha requested by react-navigation-stack@npm:1.5.3
โžค YN0002: โ”‚ react-navigation@npm:3.13.0 [dc3fc] doesn't provide react-native-screens@^1.0.0 || ^1.0.0-alpha requested by react-navigation-tabs@npm:1.2.0
โžค YN0000: โ”” Completed in 0.34s
โžค YN0000: โ”Œ Fetch step
โžค YN0000: โ”” Completed in 1.27s
โžค YN0000: โ”Œ Link step
โžค YN0000: โ”” Completed in 17.22s
โžค YN0000: Done with warnings in 18.9s

Could not connect to server

When I put in my server URI (http, https and neither), the app says โ€œCould not connect to serverโ€.

JellyFin is behind Traefik which I have set the โ€œSecure connection modeโ€ to โ€œHandled by Reverse Proxyโ€.

Please let me know if you need anymore information!

Videos Do Not Resume

Hearing this from a user on Reddit:
When the app is backgrounded and killed by iOS, audio will resume when you return to it, but not video.

We should explore saving the state and recovering better.

iPad rotation issue

Hello, I have just updated to the latest version of the app: 1.1.1 and when opening the app in the landscape orientation it will automatically switch to portrait forcing the user to physically rotate the iPad again for it to switch back to landscape. This is especially problematic with rotation lock on.

Model: iPad Air 2
iOS: 13.3.1

Could not Connect to Server (IOS)

Hello,

I am new to Jellyfin and i just loaded the Docker image.

My domain: jelly.mydomain.com works normally in HTTPS in the browser.

However, when i downloaded the IOS app, i try to insert the same URL but i am faced with a "Could not connect to server" error.

By the way, I configured JellyFin to allow secure connections using the Reverse Proxy (from the admin panel)

I will post below my Docker Compose configuration for JellyFin

  jellyfin:
    image: linuxserver/jellyfin
    container_name: jellyfin
    network_mode: bridge
    environment:
      - PUID=0
      - PGID=0
      - TZ=Europe/London
    volumes:
      - /home/jb/jf/config:/config
      - /home/jb/rdr/tv:/data/tvshows
      - /home/jb/rdr/movies:/data/movies
    ports:
      - 8096:8096
      - 8920:8920
    labels:
            - "traefik.enable=true"
            - "traefik.http.services.jf.loadbalancer.server.port=8096"
            - "traefik.http.routers.jf-secure.rule=Host(`jelly.mydomain.com`)"
            - "traefik.http.routers.jf-secure.entrypoints=websecure"
            - "traefik.http.routers.jf-secure.tls.certresolver=myresolver"
            - "traefik.http.routers.jf-secure.tls=true"

    restart: unless-stopped

Thank you for your assistance

Horizontal screen and vertical screen

If I turn on the screen direction lock, the automatic rotation direction of app is opposite to that of other video playing app when playing video, and the app interface will not return to the vertical direction after I quit playing.

Pull to refresh webview is buggy

The current pull to refresh implementation wraps the webview in a scroll view which has a few noticeable issues.

  • Scroll view steals focus on Android preventing scrolling up in webview. Pull to refresh has been removed for Android.
  • User must stop scrolling before attempting pulling to refresh on iOS.

This pull request on react-native-webview will introduce this functionality to the webview. When it is available we should make use of this feature instead of the current implementation.

iPhone5(iOS10.3.4) cannot transcode

[2020-04-05 00:55:20.722 +09:00] [DBG] "GetItemList" query time (slow): 22.8251ms. Query: "select type,data,EndDate,ChannelId,CommunityRating,IndexNumber,Width,Height,Name,Path,PremiereDate,ParentIndexNumber,ProductionYear,OfficialRating,RunTimeTicks,Size,DateModified,guid,ParentId,Audio,IsInMixedFolder,PrimaryVersionId,Album,CriticRating,IsVirtualItem,SeriesName,SeriesId,ProviderIds,Images,TotalBitrate,ExtraType,ExternalId,OwnerId,UserDatas.UserId,UserDatas.lastPlayedDate,UserDatas.playbackPositionTicks,UserDatas.playcount,UserDatas.isFavorite,UserDatas.played,UserDatas.rating from TypedBaseItems A left join UserDatas on UserDataKey=UserDatas.Key And (UserId=@UserId) where type in ('MediaBrowser.Controller.Entities.Movies.Movie','MediaBrowser.Controller.Entities.TV.Series','MediaBrowser.Controller.Entities.Book') AND Images like '%Backdrop%' AND TopParentId in ('41bd7af3d01083a383b4047b700dca4e','dac1351f43a19e2e1c55bdfa2bff0688','67ef1ca7c3c0f5fa7dac7fbf2e2a7469') Group by PresentationUniqueKey ORDER BY (Select Case When IsFavorite is null Then 0 Else IsFavorite End ) ASC,RANDOM() ASC LIMIT 20"
[2020-04-05 00:55:20.728 +09:00] [DBG] "GetItemList" query time (slow): 12.7334ms. Query: "select type,data,StartDate,EndDate,ChannelId,IsMovie,IsSeries,EpisodeTitle,IsRepeat,CommunityRating,CustomRating,IndexNumber,IsLocked,PreferredMetadataLanguage,PreferredMetadataCountryCode,Width,Height,DateLastRefreshed,Name,Path,PremiereDate,Overview,ParentIndexNumber,ProductionYear,OfficialRating,ForcedSortName,RunTimeTicks,Size,DateCreated,DateModified,guid,Genres,ParentId,Audio,ExternalServiceId,IsInMixedFolder,DateLastSaved,LockedFields,Studios,Tags,TrailerTypes,OriginalTitle,PrimaryVersionId,DateLastMediaAdded,Album,CriticRating,IsVirtualItem,SeriesName,SeasonName,SeasonId,SeriesId,PresentationUniqueKey,InheritedParentalRatingValue,ExternalSeriesId,Tagline,ProviderIds,Images,ProductionLocations,ExtraIds,TotalBitrate,ExtraType,Artists,AlbumArtists,ExternalId,SeriesPresentationUniqueKey,ShowId,OwnerId from TypedBaseItems A where ParentId=@ParentId"
[2020-04-05 00:55:20.728 +09:00] [DBG] Transmit file "/usr/lib/jellyfin/bin/jellyfin-web/assets/img/icon-transparent.png"
[2020-04-05 00:55:20.860 +09:00] [DBG] Transmit file "/usr/lib/jellyfin/bin/jellyfin-web/823f479845977d35d54e6313b3814ccd.woff2"
[2020-04-05 00:55:20.862 +09:00] [DBG] Transmit file "/usr/lib/jellyfin/bin/jellyfin-web/0f30867b4c5f5e17f2a925f47aedf2fa.woff2"
[2020-04-05 00:55:21.096 +09:00] [DBG] Transmit file "/var/cache/jellyfin/images/resized-images/7/75449def-10e9-c9a1-25ed-9a7e4d165bba.jpg"
[2020-04-05 00:55:21.154 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:21.170 +09:00] [DBG] Transmit file "/usr/lib/jellyfin/bin/jellyfin-web/43750a193b8ff0b4e929323a72d79301.woff2"
[2020-04-05 00:55:21.677 +09:00] [DBG] "GetItemList" query time (slow): 21.7846ms. Query: "select type,data,StartDate,EndDate,ChannelId,IsMovie,IsSeries,EpisodeTitle,IsRepeat,CommunityRating,IndexNumber,Width,Height,Name,Path,PremiereDate,ParentIndexNumber,ProductionYear,OfficialRating,RunTimeTicks,Size,DateModified,guid,ParentId,Audio,ExternalServiceId,IsInMixedFolder,Tags,TrailerTypes,PrimaryVersionId,Album,CriticRating,IsVirtualItem,SeriesName,SeasonName,SeasonId,SeriesId,ProviderIds,Images,TotalBitrate,ExtraType,Artists,AlbumArtists,ExternalId,ShowId,OwnerId,UserDatas.UserId,UserDatas.lastPlayedDate,UserDatas.playbackPositionTicks,UserDatas.playcount,UserDatas.isFavorite,UserDatas.played,UserDatas.rating from TypedBaseItems A left join UserDatas on UserDataKey=UserDatas.Key And (UserId=@UserId) where IsFolder=@IsFolder AND (played is null or played=@IsPlayed) AND IsVirtualItem=@IsVirtualItem AND MediaType=@MediaTypes AND (TopParentId=@TopParentId) Group by PresentationUniqueKey ORDER BY DateCreated DESC LIMIT 80"
[2020-04-05 00:55:21.919 +09:00] [DBG] "GetItemList" query time (slow): 253.6385ms. Query: "select type,data,StartDate,EndDate,ChannelId,IsMovie,IsSeries,EpisodeTitle,IsRepeat,CommunityRating,IndexNumber,Width,Height,Name,Path,PremiereDate,ParentIndexNumber,ProductionYear,OfficialRating,RunTimeTicks,Size,DateModified,guid,ParentId,Audio,ExternalServiceId,IsInMixedFolder,Tags,TrailerTypes,PrimaryVersionId,Album,CriticRating,IsVirtualItem,SeriesName,SeasonName,SeasonId,SeriesId,ProviderIds,Images,TotalBitrate,ExtraType,Artists,AlbumArtists,ExternalId,ShowId,OwnerId,UserDatas.UserId,UserDatas.lastPlayedDate,UserDatas.playbackPositionTicks,UserDatas.playcount,UserDatas.isFavorite,UserDatas.played,UserDatas.rating from TypedBaseItems A left join UserDatas on UserDataKey=UserDatas.Key And (UserId=@UserId) where IsFolder=@IsFolder AND (played is null or played=@IsPlayed) AND IsVirtualItem=@IsVirtualItem AND MediaType in ('Photo','Video') AND (TopParentId=@TopParentId) Group by PresentationUniqueKey ORDER BY DateCreated DESC LIMIT 80"
[2020-04-05 00:55:21.920 +09:00] [DBG] "GetItemList" query time (slow): 268.1397ms. Query: "select type,data,StartDate,EndDate,ChannelId,IsMovie,IsSeries,EpisodeTitle,IsRepeat,CommunityRating,CustomRating,IndexNumber,IsLocked,PreferredMetadataLanguage,PreferredMetadataCountryCode,Width,Height,DateLastRefreshed,Name,Path,PremiereDate,Overview,ParentIndexNumber,ProductionYear,OfficialRating,ForcedSortName,RunTimeTicks,Size,DateCreated,DateModified,guid,Genres,ParentId,Audio,ExternalServiceId,IsInMixedFolder,DateLastSaved,LockedFields,Studios,Tags,TrailerTypes,OriginalTitle,PrimaryVersionId,DateLastMediaAdded,Album,CriticRating,IsVirtualItem,SeriesName,SeasonName,SeasonId,SeriesId,PresentationUniqueKey,InheritedParentalRatingValue,ExternalSeriesId,Tagline,ProviderIds,Images,ProductionLocations,ExtraIds,TotalBitrate,ExtraType,Artists,AlbumArtists,ExternalId,SeriesPresentationUniqueKey,ShowId,OwnerId from TypedBaseItems A where ParentId=@ParentId"
[2020-04-05 00:55:21.921 +09:00] [DBG] "GetItemList" query time (slow): 254.5802ms. Query: "select type,data,StartDate,EndDate,ChannelId,IsMovie,IsSeries,EpisodeTitle,IsRepeat,CommunityRating,CustomRating,IndexNumber,IsLocked,PreferredMetadataLanguage,PreferredMetadataCountryCode,Width,Height,DateLastRefreshed,Name,Path,PremiereDate,Overview,ParentIndexNumber,ProductionYear,OfficialRating,ForcedSortName,RunTimeTicks,Size,DateCreated,DateModified,guid,Genres,ParentId,Audio,ExternalServiceId,IsInMixedFolder,DateLastSaved,LockedFields,Studios,Tags,TrailerTypes,OriginalTitle,PrimaryVersionId,DateLastMediaAdded,Album,CriticRating,IsVirtualItem,SeriesName,SeasonName,SeasonId,SeriesId,PresentationUniqueKey,InheritedParentalRatingValue,ExternalSeriesId,Tagline,ProviderIds,Images,ProductionLocations,ExtraIds,TotalBitrate,ExtraType,Artists,AlbumArtists,ExternalId,SeriesPresentationUniqueKey,ShowId,OwnerId from TypedBaseItems A where ParentId=@ParentId"
[2020-04-05 00:55:21.962 +09:00] [DBG] "GetItemList" query time (slow): 230.1007ms. Query: "select type,data,StartDate,EndDate,ChannelId,IsMovie,IsSeries,EpisodeTitle,IsRepeat,CommunityRating,IndexNumber,Width,Height,Name,Path,PremiereDate,ParentIndexNumber,ProductionYear,OfficialRating,RunTimeTicks,Size,DateModified,guid,ParentId,Audio,ExternalServiceId,IsInMixedFolder,Tags,TrailerTypes,PrimaryVersionId,Album,CriticRating,IsVirtualItem,SeriesName,SeasonName,SeasonId,SeriesId,ProviderIds,Images,TotalBitrate,ExtraType,Artists,AlbumArtists,ExternalId,ShowId,OwnerId,UserDatas.UserId,UserDatas.lastPlayedDate,UserDatas.playbackPositionTicks,UserDatas.playcount,UserDatas.isFavorite,UserDatas.played,UserDatas.rating from TypedBaseItems A left join UserDatas on UserDataKey=UserDatas.Key And (UserId=@UserId) where IsFolder=@IsFolder AND (played is null or played=@IsPlayed) AND IsVirtualItem=@IsVirtualItem AND MediaType=@MediaTypes AND (TopParentId=@TopParentId) Group by PresentationUniqueKey ORDER BY DateCreated DESC LIMIT 80"
[2020-04-05 00:55:21.967 +09:00] [DBG] "GetItemList" query time (slow): 41.7308ms. Query: "select type,data,StartDate,EndDate,ChannelId,IsMovie,IsSeries,EpisodeTitle,IsRepeat,CommunityRating,IndexNumber,Width,Height,Name,Path,PremiereDate,ParentIndexNumber,ProductionYear,OfficialRating,RunTimeTicks,Size,DateModified,guid,ParentId,Audio,ExternalServiceId,IsInMixedFolder,Tags,TrailerTypes,PrimaryVersionId,Album,CriticRating,IsVirtualItem,SeriesName,SeasonName,SeasonId,SeriesId,ProviderIds,Images,TotalBitrate,ExtraType,Artists,AlbumArtists,ExternalId,ShowId,OwnerId,UserDatas.UserId,UserDatas.lastPlayedDate,UserDatas.playbackPositionTicks,UserDatas.playcount,UserDatas.isFavorite,UserDatas.played,UserDatas.rating from TypedBaseItems A left join UserDatas on UserDataKey=UserDatas.Key And (UserId=@UserId) where playbackPositionTicks > 0 AND IsVirtualItem=@IsVirtualItem AND MediaType=@MediaTypes AND TopParentId in ('41bd7af3d01083a383b4047b700dca4e','dac1351f43a19e2e1c55bdfa2bff0688','67ef1ca7c3c0f5fa7dac7fbf2e2a7469') Group by PresentationUniqueKey ORDER BY LastPlayedDate DESC LIMIT 12"
[2020-04-05 00:55:21.969 +09:00] [DBG] "GetItemList" query time (slow): 42.3064ms. Query: "select type,data,EndDate,ChannelId,CommunityRating,IndexNumber,Width,Height,Name,Path,PremiereDate,ParentIndexNumber,ProductionYear,OfficialRating,ForcedSortName,RunTimeTicks,Size,DateModified,guid,ParentId,Audio,IsInMixedFolder,PrimaryVersionId,Album,CriticRating,IsVirtualItem,SeriesName,SeasonName,SeasonId,SeriesId,ProviderIds,TotalBitrate,ExtraType,ExternalId,OwnerId,UserDatas.UserId,UserDatas.lastPlayedDate,UserDatas.playbackPositionTicks,UserDatas.playcount,UserDatas.isFavorite,UserDatas.played,UserDatas.rating from TypedBaseItems A left join UserDatas on UserDataKey=UserDatas.Key And (UserId=@UserId) where type=@type AND (ParentIndexNumber<>@ParentIndexNumberNotEquals or ParentIndexNumber is null) AND (played=@IsPlayed) AND SeriesPresentationUniqueKey=@SeriesPresentationUniqueKey Group by PresentationUniqueKey ORDER BY SortName DESC LIMIT 1"
[2020-04-05 00:55:22.155 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:22.467 +09:00] [DBG] Transmit file "/usr/lib/jellyfin/bin/jellyfin-web/603cf2c5d99cd696b97466fe266af9b3.woff2"
[2020-04-05 00:55:22.470 +09:00] [DBG] Transmit file "/usr/lib/jellyfin/bin/jellyfin-web/6d1baa4104fc303c312def13f9cf7d12.woff2"
[2020-04-05 00:55:23.156 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:24.155 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:25.154 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:26.156 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:27.156 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:28.154 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:29.156 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:30.155 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:31.153 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:32.154 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:32.193 +09:00] [INF] 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: 120000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 192000, MaxStaticMusicBitrate: null, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "mp4,m4v", AudioCodec: "ac3,eac3,mp3,aac", VideoCodec: "h264,h265,hevc", Type: Video }, DirectPlayProfile { Container: "mp3", AudioCodec: "mp3", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a,m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "alac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a,m4b", AudioCodec: "alac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "wav", AudioCodec: null, VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 2, SegmentLength: 0, BreakOnNonKeyFrames: True }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: null, AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: null, AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "h264", AudioCodec: "ac3,eac3,mp3,aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 2, SegmentLength: 0, BreakOnNonKeyFrames: True }, TranscodingProfile { Container: "mp4", Type: Video, VideoCodec: "h264", AudioCodec: "ac3,eac3,mp3,aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }], ContainerProfiles: [], CodecProfiles: [CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: IsAnamorphic, Value: "true", IsRequired: False }, ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }], ResponseProfiles: [ResponseProfile { Container: "m4v", AudioCodec: null, VideoCodec: null, Type: Video, OrgPn: null, MimeType: "video/mp4", Conditions: [] }], SubtitleProfiles: [SubtitleProfile { Format: "vtt", Method: External, DidlMode: null, Language: null, Container: null }] }
[2020-04-05 00:55:32.200 +09:00] [INF] User policy for "studioai". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2020-04-05 00:55:32.201 +09:00] [INF] Bitrate exceeds DirectStream limit: media bitrate: 5533743, max bitrate: 800000
[2020-04-05 00:55:32.202 +09:00] [INF] Profile: "Unknown Profile", Path: "/mnt/usb_1/video/movie/True Grit (2010)/True Grit (2010) Bluray-1080p.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2020-04-05 00:55:32.203 +09:00] [INF] Profile: "Unknown Profile", No direct play profiles found for Path: "/mnt/usb_1/video/movie/True Grit (2010)/True Grit (2010) Bluray-1080p.mkv"
[2020-04-05 00:55:32.205 +09:00] [INF] Bitrate exceeds DirectStream limit: media bitrate: 5533743, max bitrate: 800000
[2020-04-05 00:55:32.205 +09:00] [INF] Profile: "Unknown Profile", Path: "/mnt/usb_1/video/movie/True Grit (2010)/True Grit (2010) Bluray-1080p.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2020-04-05 00:55:32.206 +09:00] [INF] Profile: "Unknown Profile", No direct play profiles found for Path: "/mnt/usb_1/video/movie/True Grit (2010)/True Grit (2010) Bluray-1080p.mkv"
[2020-04-05 00:55:32.208 +09:00] [INF] Bitrate exceeds DirectStream limit: media bitrate: 5533743, max bitrate: 800000
[2020-04-05 00:55:32.209 +09:00] [INF] Profile: "Unknown Profile", Path: "/mnt/usb_1/video/movie/True Grit (2010)/True Grit (2010) Bluray-1080p.mkv", isEligibleForDirectPlay: True, isEligibleForDirectStream: False
[2020-04-05 00:55:32.210 +09:00] [INF] Profile: "Unknown Profile", No direct play profiles found for Path: "/mnt/usb_1/video/movie/True Grit (2010)/True Grit (2010) Bluray-1080p.mkv"
[2020-04-05 00:55:33.156 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:34.153 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:34.358 +09:00] [DBG] Starting transcoding because currentTranscodingIndex=null
[2020-04-05 00:55:34.359 +09:00] [INF] Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2020-04-05 00:55:34.360 +09:00] [INF] /usr/lib/jellyfin-ffmpeg/ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128 -i file:"/mnt/usb_1/video/movie/True Grit (2010)/True Grit (2010) Bluray-1080p.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi  -b:v 480000 -maxrate 480000 -bufsize 960000 -profile:v high -level 41  -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -vf "format=nv12|vaapi,hwupload,scale_vaapi=w=638:h=270:format=nv12" -copyts -vsync -1 -codec:a:0 ac3 -ac 2 -ab 320000 -af "volume=2" -f hls -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -hls_time 3 -individual_header_trailer 0 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/e3d20f70e7fd7fc521a1e993047b8d97%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/e3d20f70e7fd7fc521a1e993047b8d97.m3u8"
[2020-04-05 00:55:34.363 +09:00] [DBG] Launched ffmpeg process
[2020-04-05 00:55:34.405 +09:00] [DBG] Waiting for the creation of "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/e3d20f70e7fd7fc521a1e993047b8d970.ts"
[2020-04-05 00:55:34.611 +09:00] [DBG] File "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/e3d20f70e7fd7fc521a1e993047b8d970.ts" created or transcoding has finished
[2020-04-05 00:55:34.612 +09:00] [DBG] StartFfMpeg() finished successfully
[2020-04-05 00:55:34.612 +09:00] [DBG] returning "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/e3d20f70e7fd7fc521a1e993047b8d970.ts" [general case]
[2020-04-05 00:55:35.153 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:36.156 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:36.733 +09:00] [DBG] serving up "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/e3d20f70e7fd7fc521a1e993047b8d970.ts" as it deemed ready
[2020-04-05 00:55:36.736 +09:00] [DBG] Transmit file "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/e3d20f70e7fd7fc521a1e993047b8d970.ts"
[2020-04-05 00:55:36.740 +09:00] [DBG] finished serving "/var/lib/jellyfin/transcoding-temp/transcodes/transcodes/transcodes/transcodes/e3d20f70e7fd7fc521a1e993047b8d970.ts"
[2020-04-05 00:55:36.740 +09:00] [DBG] OnTranscodeEndRequest job.ActiveRequestCount=0
[2020-04-05 00:55:36.741 +09:00] [DBG] Starting kill timer at 60000ms. JobId "850db9ce9c7242c584bb81d79b0f5cc3" PlaySessionId "6b8cbd2b99d14bc6b9683ef557747dd0"
[2020-04-05 00:55:36.741 +09:00] [WRN] HTTP Response 200 to "60.34.56.207". Time (slow): 0:00:02.3958993. "http://studioai.freeddns.org/jellyfin/videos/aad183e7-ef1b-49a9-a8cb-38109b035f36/hls1/main/0.ts?DeviceId=98663A02-53C9-40C6-BE00-7A334492D053&MediaSourceId=aad183e7ef1b49a9a8cb38109b035f36&VideoCodec=h264&AudioCodec=ac3,eac3,mp3,aac&AudioStreamIndex=1&VideoBitrate=480000&AudioBitrate=320000&PlaySessionId=6b8cbd2b99d14bc6b9683ef557747dd0&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=94a3b95f9566aa728f670b35e8d35191&SegmentContainer=ts&MinSegments=2&BreakOnNonKeyFrames=True&h264-profile=high,main,baseline,constrainedbaseline&h264-level=51&TranscodeReasons=ContainerNotSupported,VideoCodecNotSupported,AudioCodecNotSupported,ContainerBitrateExceedsLimit"
[2020-04-05 00:55:37.153 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:38.162 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:39.153 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:40.154 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:41.157 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:42.153 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:43.154 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:44.153 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:45.154 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:45.326 +09:00] [DBG] Transmit file "/var/cache/jellyfin/images/resized-images/5/58cf52d9-597c-1fe0-e3b0-feb84a510387.jpg"
[2020-04-05 00:55:46.157 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:47.155 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:48.155 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:49.159 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:50.157 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:51.155 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:52.156 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:53.155 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:54.153 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:55.153 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:56.155 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:57.155 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:58.160 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:55:59.153 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:56:00.153 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:56:01.156 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:56:02.159 +09:00] [DBG] PingTranscodingJob PlaySessionId="1cf836ea900440c8972a207379c67f28" isUsedPaused: False
[2020-04-05 00:56:03.031 +09:00] [ERR] Error in DummySeasonProvider
System.Threading.Tasks.TaskCanceledException: The operation was canceled.
 ---> System.IO.IOException: Unable to read data from the transport connection: Operation canceled.
 ---> System.Net.Sockets.SocketException (125): Operation canceled
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)
   at System.Net.Security.SslStream.<FillBufferAsync>g__InternalFillBufferAsync|215_0[TReadAdapter](TReadAdapter adap, ValueTask`1 task, Int32 min, Int32 initial)
   at System.Net.Security.SslStream.ReadAsyncInternal[TReadAdapter](TReadAdapter adapter, Memory`1 buffer)
   at System.Net.Http.HttpConnection.FillAsync()
   at System.Net.Http.HttpConnection.ReadNextResponseHeaderLineAsync(Boolean foldedHeadersAllowed)
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpConnection.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithNtConnectionAuthAsync(HttpConnection connection, HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
   at TvDbSharper.Infrastructure.ApiClient.SendRequestAsync(ApiRequest request, CancellationToken cancellationToken)
   at TvDbSharper.Clients.SeriesClient.GetEpisodesAsync(Int32 seriesId, Int32 page, EpisodeQuery query, CancellationToken cancellationToken)
   at MediaBrowser.Providers.TV.TheTVDB.TvDbClientManager.TryGetValue[T](String key, String language, Func`1 resultFactory)
   at MediaBrowser.Providers.TV.TheTVDB.TvDbClientManager.GetAllEpisodesAsync(Int32 tvdbId, String language, CancellationToken cancellationToken)
   at MediaBrowser.Providers.TV.MissingEpisodeProvider.Run(Series series, Boolean addNewItems, CancellationToken cancellationToken)
   at MediaBrowser.Providers.TV.SeriesMetadataService.AfterMetadataRefresh(Series item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken)

Server version: 10.5.2
iOS client: 0.1.1

Playing a media on my device by transcoding was OK in the previous version.
however, on 0.1.1 transcoding stopped working.
I don't know it's because of client or server.
I found out that server still recognize the client as playing the media.
Attached is my screenshot and log.
please have a look on it.

Settings Screen

The settings screen should do the following:

  • list Jellyfin servers
  • add/delete servers
  • switch currently used server
  • list version information of app
  • have additional links to source code and issues?

Duplicate subtitles iOS

Just downloaded the app (1.1.1) on my iPhone 6s (13.4.1) and when watching a tv show with multiple subtitles both subtitles show at the same time: image

This happens on multiple episodes of the show (Halt And Catch Fire) but not on other tv shows with multiple subtitle options.

image

App rotates to portait veiw after launch

After launching the app in landscape view on an iPad Pro 11 (iOS13.3) the App rotates into portrait view. You have to rotate the iPad up and down again to get back to landscape mode.

Offline Screen

The app should display a message when the device's network connection is offline.

subtitle a bit faster than video on IOS device

dear developer:
I am a IOS user and I find the subtitle on any IOS client(any broswer,APP) goes a bit faster than video on my iphone and ipad.
This only appears when resuming watching(In other words,watch a new episode from the beginning won't cause this problem).
my server:jellyfin version 10.4.3 running on a synology docker.
my client:iphone 8 plus with IOS 13.3.
Steps To Reproduce:
play some video on windows chrome with subtitle(with subtitle displays correctly)
stop playing on windows chrome
continue playing on ios app(this is when this problem may occur)

iPad(iOS 10.3.3) issues with connecting

image
when connecting to a server, this pops up after a full factory reset. it did not do this before.
safari logs in just fine but broke due to an update. this app is the only thing that allows me to watch jellyfin at the moment.

Pull to refresh while playing video breaks app

If you pull to refresh when a video is playing (not in full screen) the app will try to navigate to a null page. This leaves the user on an error screen and the only way to fix it is to close and reopen the app.

[IOS] Audio streaming stops when device enters on sleep mode

Hey! Good morning all.

Just want to report that when i'm streaming audio on my IPad 2018, when the device screen goes of and the ipad starts sleeping the media stream (music mainly, because when video is streamed, device doesn't go to sleep) gets stopped. I have to unlock the IPad, pause the stream and resume it to force it work again.

Feel free to ask for whatever information you need.

Cheers :)

Iphone: When screen turns of, the music stops

Hello All, i'm a big fan of the project, and want to support as well as i can. I'm completely new here so if you need more info or anything i would be happy to help.

The Problem
When i'm streaming music to my iphone, the music stops when the display goes out. Which results in the app freezing, and i have to completly restart the app. (or sometimes spamming the setting button works as well)
This means i that i can only here a couple of minutes of the song without interruption

To Reproduce
On iphone 7 plus simply play music and wait for screen to black out. A few seconds later the music will stop.
(all testet files has been flac)

Expected behavior
The music should keep playing

System
Current setup:

  • OS: Windows
  • Jellyfin Version: 10.4.3
  • Desktop computer: GTX1070, Intel i7 3770K (no overclock or hardware acceleration)
  • Installed Plugins: no plugins
  • Reverse proxy: don't think (not sure)

Mobile:

  • Device: Apple iPhone 7Plus
  • OS: iOS 13.3
  • Client: Jellyfin for iOS 0.1.0 (3) Expo Version 34.0.0

External links in webview

If a user clicks on an external link in the webveiw, the link should open in a browser. Currently they will open in the webview with no way to navigate back to Jellyfin.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.