Videos from Google Pixel 4a shot in portrait are played in wrong orientation #4911

Open
opened 2026-02-07 01:16:41 +03:00 by OVERLORD · 28 comments
Owner

Originally created by @Skuair on GitHub (Jun 14, 2023).

Describe the bug

  1. Play a video shot in portrait with a pixel 4a (maybe others ?) (player mode is ExoPlayer, same with VLC)
  2. Video is played in portrait but content is in landscape stretched to portrait, so deformed

Here is the playback on android tv:
PXL_20230614_183705754

On android version and web player, the video is played in landscape, but not stretched.

Android:
Screenshot_20230614-204528

Web player:
image

Is it a video problem ? I don't have other phones so I cannot test portrait with others, all my other videos from GoPro or camera are landscape.
But android phone and web player are not well played as well (but better, i just have to move my head), so i suppose something on the video.

Logs

No response

FFmpeg logs

No logs, seems to be direct played.

Media info of the file

Vidéo
Titre: 1080p HEVC SDR
Codec: HEVC
Étiquette du codec: hvc1
Profil: Main
Niveau: 153
Résolution: 1920x1080
Ratio d'aspect original: 16:9
Entrelacé: No
Images par seconde: 59.680187
Débit: 29625 kbps
Plage vidéo: SDR
Video range type: SDR
Espace couleur: smpte170m
Transfert couleur: smpte170m
Couleurs primaires: bt470bg
Format de pixel: yuvj420p
Images de référence: 1

Application version

0.15.10

Device information

Sony Bravia KD-49XD8005

Android version

Android 9

Jellyfin server version

10.8.10

Originally created by @Skuair on GitHub (Jun 14, 2023). ### Describe the bug 1. Play a video shot in portrait with a pixel 4a (maybe others ?) (player mode is ExoPlayer, same with VLC) 2. Video is played in portrait but content is in landscape stretched to portrait, so deformed Here is the playback on android tv: ![PXL_20230614_183705754](https://github.com/jellyfin/jellyfin/assets/49756503/d0838cc7-5781-4d09-a888-c352c7c73ecc) On android version and web player, the video is played in landscape, but not stretched. Android: ![Screenshot_20230614-204528](https://github.com/jellyfin/jellyfin/assets/49756503/bc554195-9eac-452e-ac02-75d084c4582a) Web player: ![image](https://github.com/jellyfin/jellyfin/assets/49756503/8f478e5d-002d-4a7a-9446-e99daee71a00) Is it a video problem ? I don't have other phones so I cannot test portrait with others, all my other videos from GoPro or camera are landscape. But android phone and web player are not well played as well (but better, i just have to move my head), so i suppose something on the video. ### Logs _No response_ ### FFmpeg logs ```shell No logs, seems to be direct played. ``` ### Media info of the file ```shell Vidéo Titre: 1080p HEVC SDR Codec: HEVC Étiquette du codec: hvc1 Profil: Main Niveau: 153 Résolution: 1920x1080 Ratio d'aspect original: 16:9 Entrelacé: No Images par seconde: 59.680187 Débit: 29625 kbps Plage vidéo: SDR Video range type: SDR Espace couleur: smpte170m Transfert couleur: smpte170m Couleurs primaires: bt470bg Format de pixel: yuvj420p Images de référence: 1 ``` ### Application version 0.15.10 ### Device information Sony Bravia KD-49XD8005 ### Android version Android 9 ### Jellyfin server version 10.8.10
OVERLORD added the bug label 2026-02-07 01:16:41 +03:00
Author
Owner

@jellyfin-bot commented on GitHub (Oct 13, 2023):

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

@jellyfin-bot commented on GitHub (Oct 13, 2023): This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments. If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label. This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://docs.jellyfin.org/general/getting-help.html).
Author
Owner

@Skuair commented on GitHub (Oct 13, 2023):

Still an issue.

@Skuair commented on GitHub (Oct 13, 2023): Still an issue.
Author
Owner

@jellyfin-bot commented on GitHub (Feb 11, 2024):

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

@jellyfin-bot commented on GitHub (Feb 11, 2024): This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments. If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label. This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://docs.jellyfin.org/general/getting-help.html).
Author
Owner

@Skuair commented on GitHub (Feb 11, 2024):

Still an issue.

@Skuair commented on GitHub (Feb 11, 2024): Still an issue.
Author
Owner

@jellyfin-bot commented on GitHub (Jun 12, 2024):

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

@jellyfin-bot commented on GitHub (Jun 12, 2024): This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments. If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label. This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://docs.jellyfin.org/general/getting-help.html).
Author
Owner

@Skuair commented on GitHub (Jun 12, 2024):

Still an issue.

@Skuair commented on GitHub (Jun 12, 2024): Still an issue.
Author
Owner

@jellyfin-bot commented on GitHub (Oct 11, 2024):

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

@jellyfin-bot commented on GitHub (Oct 11, 2024): This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments. If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label. This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://docs.jellyfin.org/general/getting-help.html).
Author
Owner

@nielsvanvelzen commented on GitHub (Oct 11, 2024):

This should be fixed with Jellyfin 10.10

@nielsvanvelzen commented on GitHub (Oct 11, 2024): This should be fixed with Jellyfin 10.10
Author
Owner

@Skuair commented on GitHub (Nov 7, 2024):

I tried my portrait videos with version 10.10, and it is not fixed.
With 10.10, web player and android phone are ok now for orientation, but problem is still present with android TV.

@Skuair commented on GitHub (Nov 7, 2024): I tried my portrait videos with version 10.10, and it is not fixed. With 10.10, web player and android phone are ok now for orientation, but problem is still present with android TV.
Author
Owner

@Shininess8816 commented on GitHub (Nov 8, 2024):

Agreed- I have been watching this.

Updated the app & docker twice since 10.10 and the issue persists

@Shininess8816 commented on GitHub (Nov 8, 2024): Agreed- I have been watching this. Updated the app & docker twice since 10.10 and the issue persists
Author
Owner

@jellyfin-bot commented on GitHub (Mar 8, 2025):

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

@jellyfin-bot commented on GitHub (Mar 8, 2025): This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments. If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label. This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://docs.jellyfin.org/general/getting-help.html).
Author
Owner

@Skuair commented on GitHub (Mar 11, 2025):

I confirm that the issue still persists only on Android TV.

Here is the meta of an example video file in portrait:

Vidéo
Titre: 1080p HEVC SDR
Codec: HEVC
Étiquette du codec: hvc1
AVC: No
Profil: Main
Niveau: 153
Résolution: 1920x1080
Format d'image: 16:9
Anamorphique: No
Entrelacé: No
Images par seconde: 60.009502
Débit: 16928 kbps
Plage vidéo: SDR
Type de plage vidéo: SDR
Espace colorimétrique: smpte170m
Transfert couleur: smpte170m
Couleurs primaires: bt470bg
Format de pixel: yuvj420p
Images de référence: 1
Rotation: -90

I see that now there is the information about rotation in my recent portrait videos, comparing to my first post where there was not.

@Skuair commented on GitHub (Mar 11, 2025): I confirm that the issue still persists only on Android TV. Here is the meta of an example video file in portrait: ``` Vidéo Titre: 1080p HEVC SDR Codec: HEVC Étiquette du codec: hvc1 AVC: No Profil: Main Niveau: 153 Résolution: 1920x1080 Format d'image: 16:9 Anamorphique: No Entrelacé: No Images par seconde: 60.009502 Débit: 16928 kbps Plage vidéo: SDR Type de plage vidéo: SDR Espace colorimétrique: smpte170m Transfert couleur: smpte170m Couleurs primaires: bt470bg Format de pixel: yuvj420p Images de référence: 1 Rotation: -90 ``` I see that now there is the information about rotation in my recent portrait videos, comparing to my first post where there was not.
Author
Owner

@nielsvanvelzen commented on GitHub (Mar 11, 2025):

I'm unable to reproduce this issue. Whenever I have a video with rotation set via metadata it displays correctly. Both with direct-play and transcodes.

@nielsvanvelzen commented on GitHub (Mar 11, 2025): I'm unable to reproduce this issue. Whenever I have a video with rotation set via metadata it displays correctly. Both with direct-play and transcodes.
Author
Owner

@Skuair commented on GitHub (Mar 12, 2025):

None of my pixel portrait videos are correct.
Do you want me to send an example video to try from your side?

@Skuair commented on GitHub (Mar 12, 2025): None of my pixel portrait videos are correct. Do you want me to send an example video to try from your side?
Author
Owner

@nielsvanvelzen commented on GitHub (Mar 12, 2025):

Yes if you could share a sample file that may help reproducing the issue.

@nielsvanvelzen commented on GitHub (Mar 12, 2025): Yes if you could share a sample file that may help reproducing the issue.
Author
Owner

@Skuair commented on GitHub (Mar 12, 2025):

Here is sample video: https://we.tl/t-Ud9R3tRGAh (link valid for 7 days).

And what is look like on TV:
Image

@Skuair commented on GitHub (Mar 12, 2025): Here is sample video: https://we.tl/t-Ud9R3tRGAh (link valid for 7 days). And what is look like on TV: ![Image](https://github.com/user-attachments/assets/6b1f1492-072a-4770-8fd9-f52d23005e66)
Author
Owner

@nielsvanvelzen commented on GitHub (Mar 12, 2025):

Image

My best guess is that this is a device specific issue as this video also shows perfectly fine for me. A potential workaround would be to rotate the video server-side (with a transcode) but we don't have such functionality right now.

@nielsvanvelzen commented on GitHub (Mar 12, 2025): ![Image](https://github.com/user-attachments/assets/58a8f8e8-b9b4-474f-81d7-841ea7b19029) My best guess is that this is a device specific issue as this video also shows perfectly fine for me. A potential workaround would be to rotate the video server-side (with a transcode) but we don't have such functionality right now.
Author
Owner

@Skuair commented on GitHub (Mar 13, 2025):

Well, thanks for your feedback.
I let you close the issue if you consider there is nothing to do, or let it open until there is something one day on a server-side workaround.

@Skuair commented on GitHub (Mar 13, 2025): Well, thanks for your feedback. I let you close the issue if you consider there is nothing to do, or let it open until there is something one day on a server-side workaround.
Author
Owner

@nielsvanvelzen commented on GitHub (Mar 13, 2025):

I'll move this issue to the server repository as we'll need changes over there first. My proposal is to add a new ProfileConditionValue for the rotation of the video (VideoRotation). If the check fails the server should rotate the video using a transcode. Once that is added to the server we can work on client-side support.

@nielsvanvelzen commented on GitHub (Mar 13, 2025): I'll move this issue to the server repository as we'll need changes over there first. My proposal is to add a new `ProfileConditionValue` for the rotation of the video (`VideoRotation`). If the check fails the server should rotate the video using a transcode. Once that is added to the server we can work on client-side support.
Author
Owner

@Skuair commented on GitHub (Mar 13, 2025):

Thanks.
A note about that, I don't remember to have tested that before but I just checked the problem is the same with the app VLC android tv, so I suppose it makes sense it is device related.

If server can handle that, could be nice.

@Skuair commented on GitHub (Mar 13, 2025): Thanks. A note about that, I don't remember to have tested that before but I just checked the problem is the same with the app VLC android tv, so I suppose it makes sense it is device related. If server can handle that, could be nice.
Author
Owner

@nyanmisaka commented on GitHub (Mar 13, 2025):

// pseudo code for ATV
if (device_model == "Sony Bravia KD-49XD8005") {
    // Bad android tv player/decoder/firmware detected, no client side rotation support
    // Add a ProfileContition (video.rotation != 0) to force server side transcoding
}
@nyanmisaka commented on GitHub (Mar 13, 2025): ``` // pseudo code for ATV if (device_model == "Sony Bravia KD-49XD8005") { // Bad android tv player/decoder/firmware detected, no client side rotation support // Add a ProfileContition (video.rotation != 0) to force server side transcoding } ```
Author
Owner

@jellyfin-bot commented on GitHub (Jul 12, 2025):

This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.

If you have any questions you can use one of several ways to contact us.

@jellyfin-bot commented on GitHub (Jul 12, 2025): This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs. If you have any questions you can use one of several ways to [contact us](https://jellyfin.org/contact).
Author
Owner

@Skuair commented on GitHub (Jul 12, 2025):

Any plans for a future implementation?

@Skuair commented on GitHub (Jul 12, 2025): Any plans for a future implementation?
Author
Owner

@jellyfin-bot commented on GitHub (Nov 11, 2025):

This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.

If you have any questions you can use one of several ways to contact us.

@jellyfin-bot commented on GitHub (Nov 11, 2025): This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs. If you have any questions you can use one of several ways to [contact us](https://jellyfin.org/contact).
Author
Owner

@Skuair commented on GitHub (Nov 12, 2025):

Rechecked yesterday with last jellyfin versions, still an issue.

@Skuair commented on GitHub (Nov 12, 2025): Rechecked yesterday with last jellyfin versions, still an issue.
Author
Owner

@mailinglists35 commented on GitHub (Jan 7, 2026):

given how old this issue is, I won't waste any more time trying to make jellyfin a valid home clips player.

it's clearly not designed for consuming user generated content, not designed to handle vertical/portrait media, and it's only a landscape classical movies player. such a shame for the transcoding abilities that it has and excellent HDR support.

here is a sample that everyone would expect to play normally.

$ mediainfo 20260101_160813_1.mp4
General
Complete name                            : 20260101_160813_1.mp4
Format                                   : MPEG-4
Format profile                           : Base Media / Version 2
Codec ID                                 : mp42 (isom/mp42)
File size                                : 15.8 MiB
Duration                                 : 3 s 767 ms
Overall bit rate                         : 35.2 Mb/s
Frame rate                               : 60.000 FPS
Performer                                : Galaxy S23
Encoded date                             : 2026-01-01 14:09:01 UTC
Tagged date                              : 2026-01-01 14:09:01 UTC
xyz                                      : anonymized/
com.android.version                      : 14

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L1@Main
HDR format                               : SMPTE ST 2094 App 4, Version 1, HDR10+ Profile B compatible
Codec ID                                 : hvc1
Codec ID/Info                            : High Efficiency Video Coding
Duration                                 : 3 s 767 ms
Bit rate                                 : 35.0 Mb/s
Width                                    : 1 080 pixels
Height                                   : 1 920 pixels
Display aspect ratio                     : 0.562
Frame rate mode                          : Variable
Frame rate                               : 60.000 FPS
Minimum frame rate                       : 58.824 FPS
Maximum frame rate                       : 62.500 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.281
Stream size                              : 15.7 MiB (99%)
Title                                    : VideoHandle
Language                                 : English
Encoded date                             : 2026-01-06 00:09:40 UTC
Tagged date                              : 2026-01-06 00:09:40 UTC
Color range                              : Limited
Color primaries                          : BT.2020
Transfer characteristics                 : PQ
Matrix coefficients                      : BT.2020 non-constant
Mastering display color primaries        : Display P3
Mastering display luminance              : min: 0.0050 cd/m2, max: 1000 cd/m2
Maximum Content Light Level              : 1000 cd/m2
Maximum Frame-Average Light Level        : 200 cd/m2
Codec configuration box                  : hvcC

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2
Duration                                 : 3 s 755 ms
Bit rate mode                            : Constant
Bit rate                                 : 256 kb/s
Nominal bit rate                         : 128 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Frame rate                               : 46.875 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 117 KiB (1%)
Title                                    : SoundHandle
Language                                 : English
Encoded date                             : 2026-01-06 00:09:40 UTC
Tagged date                              : 2026-01-06 00:09:40 UTC


@mailinglists35 commented on GitHub (Jan 7, 2026): given how old this issue is, I won't waste any more time trying to make jellyfin a valid home clips player. it's clearly not designed for consuming user generated content, not designed to handle vertical/portrait media, and it's only a landscape classical movies player. such a shame for the transcoding abilities that it has and excellent HDR support. here is a [sample](https://drive.google.com/file/d/11RHZY7JIiULmkORJ1IytMv-s2IN98EKe/view?usp=sharing) that everyone would expect to play normally. ```` $ mediainfo 20260101_160813_1.mp4 General Complete name : 20260101_160813_1.mp4 Format : MPEG-4 Format profile : Base Media / Version 2 Codec ID : mp42 (isom/mp42) File size : 15.8 MiB Duration : 3 s 767 ms Overall bit rate : 35.2 Mb/s Frame rate : 60.000 FPS Performer : Galaxy S23 Encoded date : 2026-01-01 14:09:01 UTC Tagged date : 2026-01-01 14:09:01 UTC xyz : anonymized/ com.android.version : 14 Video ID : 1 Format : HEVC Format/Info : High Efficiency Video Coding Format profile : Main 10@L1@Main HDR format : SMPTE ST 2094 App 4, Version 1, HDR10+ Profile B compatible Codec ID : hvc1 Codec ID/Info : High Efficiency Video Coding Duration : 3 s 767 ms Bit rate : 35.0 Mb/s Width : 1 080 pixels Height : 1 920 pixels Display aspect ratio : 0.562 Frame rate mode : Variable Frame rate : 60.000 FPS Minimum frame rate : 58.824 FPS Maximum frame rate : 62.500 FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 10 bits Bits/(Pixel*Frame) : 0.281 Stream size : 15.7 MiB (99%) Title : VideoHandle Language : English Encoded date : 2026-01-06 00:09:40 UTC Tagged date : 2026-01-06 00:09:40 UTC Color range : Limited Color primaries : BT.2020 Transfer characteristics : PQ Matrix coefficients : BT.2020 non-constant Mastering display color primaries : Display P3 Mastering display luminance : min: 0.0050 cd/m2, max: 1000 cd/m2 Maximum Content Light Level : 1000 cd/m2 Maximum Frame-Average Light Level : 200 cd/m2 Codec configuration box : hvcC Audio ID : 2 Format : AAC LC Format/Info : Advanced Audio Codec Low Complexity Codec ID : mp4a-40-2 Duration : 3 s 755 ms Bit rate mode : Constant Bit rate : 256 kb/s Nominal bit rate : 128 kb/s Channel(s) : 2 channels Channel layout : L R Sampling rate : 48.0 kHz Frame rate : 46.875 FPS (1024 SPF) Compression mode : Lossy Stream size : 117 KiB (1%) Title : SoundHandle Language : English Encoded date : 2026-01-06 00:09:40 UTC Tagged date : 2026-01-06 00:09:40 UTC ````
Author
Owner

@mailinglists35 commented on GitHub (Jan 7, 2026):

and this is how it behaves on iOS when opening the clip: UI rotates unasked for, then UI remains rotated until force closed. does not respond to phone physical orientation. ios 17.0 iphone 13 mini

@mailinglists35 commented on GitHub (Jan 7, 2026): and [this](https://drive.google.com/file/d/1_nR0PIQDIf7hVZtXtr5YByHbofvR3pTF/view?usp=sharing) is how it behaves on iOS when opening the clip: UI rotates unasked for, then UI remains rotated until force closed. does not respond to phone physical orientation. ios 17.0 iphone 13 mini
Author
Owner

@mailinglists35 commented on GitHub (Jan 7, 2026):

server logs

$ journalctl --no-hostname --user -S yesterday | grep 20260101_160813_1.mp4
Jan 07 04:22:38 jellydrive[2902642]: [02:22:38] [INF] [75] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f mov,mp4,m4a,3gp,3g2,mj2 -init_hw_device cuda=cu:0 -filter_hw_device cu -hwaccel cuda -hwaccel_output_format cuda -noautorotate -hwaccel_flags +unsafe_output -threads 1 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset ultrafast -crf 23 -maxrate 5743699 -bufsize 11487398 -profile:v:0 high -level 51 -x264opts:0 subme=0:me_range=16:rc_lookahead=10:me=hex:open_gop=0 -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,tonemap_cuda=format=yuv420p:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=yuv420p" -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "a6c84033d2163a32e29f341392db5b51-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/a6c84033d2163a32e29f341392db5b51%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/a6c84033d2163a32e29f341392db5b51.m3u8"
Jan 07 04:23:37 jellydrive[2902642]: [02:23:37] [INF] [103] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f mov,mp4,m4a,3gp,3g2,mj2 -init_hw_device cuda=cu:0 -filter_hw_device cu -hwaccel cuda -hwaccel_output_format cuda -noautorotate -hwaccel_flags +unsafe_output -threads 1 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset ultrafast -crf 23 -maxrate 5743699 -bufsize 11487398 -profile:v:0 high -level 51 -x264opts:0 subme=0:me_range=16:rc_lookahead=10:me=hex:open_gop=0 -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,tonemap_cuda=format=yuv420p:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=yuv420p" -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "8634c568ec0024e25b49fac793c2ff51-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/8634c568ec0024e25b49fac793c2ff51%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/8634c568ec0024e25b49fac793c2ff51.m3u8"
Jan 07 04:25:06 jellydrive[2902642]: [02:25:06] [INF] [63] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f mov,mp4,m4a,3gp,3g2,mj2 -init_hw_device cuda=cu:0 -filter_hw_device cu -hwaccel cuda -hwaccel_output_format cuda -noautorotate -hwaccel_flags +unsafe_output -threads 1 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset ultrafast -crf 23 -maxrate 5743699 -bufsize 11487398 -profile:v:0 high -level 51 -x264opts:0 subme=0:me_range=16:rc_lookahead=10:me=hex:open_gop=0 -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,tonemap_cuda=format=yuv420p:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=yuv420p" -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "4eaca1f8e09089386d6a847bd2ffcf95-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/4eaca1f8e09089386d6a847bd2ffcf95%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/4eaca1f8e09089386d6a847bd2ffcf95.m3u8"
Jan 07 04:25:14 jellydrive[2902642]: [02:25:14] [INF] [33] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f mov,mp4,m4a,3gp,3g2,mj2 -init_hw_device cuda=cu:0 -filter_hw_device cu -hwaccel cuda -hwaccel_output_format cuda -noautorotate -hwaccel_flags +unsafe_output -threads 1 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset ultrafast -crf 23 -maxrate 5743699 -bufsize 11487398 -profile:v:0 high -level 51 -x264opts:0 subme=0:me_range=16:rc_lookahead=10:me=hex:open_gop=0 -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,tonemap_cuda=format=yuv420p:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=yuv420p" -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "900003da8deadd3548ebabbb5a36e961-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/900003da8deadd3548ebabbb5a36e961%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/900003da8deadd3548ebabbb5a36e961.m3u8"
Jan 07 04:25:34 jellydrive[2902642]: [02:25:34] [INF] [157] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f mov,mp4,m4a,3gp,3g2,mj2 -init_hw_device cuda=cu:0 -filter_hw_device cu -hwaccel cuda -hwaccel_output_format cuda -noautorotate -hwaccel_flags +unsafe_output -threads 1 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset ultrafast -crf 23 -maxrate 5743699 -bufsize 11487398 -profile:v:0 high -level 51 -x264opts:0 subme=0:me_range=16:rc_lookahead=10:me=hex:open_gop=0 -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,tonemap_cuda=format=yuv420p:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=yuv420p" -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "dbbfc2464efe99e60a1bb42d850b72e6-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/dbbfc2464efe99e60a1bb42d850b72e6%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/dbbfc2464efe99e60a1bb42d850b72e6.m3u8"
Jan 07 04:25:41 jellydrive[2902642]: [02:25:41] [INF] [63] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2  -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "70d70ac6d8f1cc1fbd00e7659539216b-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/70d70ac6d8f1cc1fbd00e7659539216b%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/70d70ac6d8f1cc1fbd00e7659539216b.m3u8"
Jan 07 04:25:45 jellydrive[2902642]: [02:25:45] [INF] [157] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2  -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "7d625248e273e6bbd8ee7c55abdb4aa6-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/7d625248e273e6bbd8ee7c55abdb4aa6%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/7d625248e273e6bbd8ee7c55abdb4aa6.m3u8"
Jan 07 04:25:56 jellydrive[2902642]: [02:25:56] [INF] [108] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2  -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "48f0dc9bf832350e1dd07de7c678997c-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/48f0dc9bf832350e1dd07de7c678997c%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/48f0dc9bf832350e1dd07de7c678997c.m3u8"
Jan 07 04:26:31 jellydrive[2902642]: [02:26:31] [INF] [108] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2  -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "c4e8b52019988eece51223545ac13991-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/c4e8b52019988eece51223545ac13991%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/c4e8b52019988eece51223545ac13991.m3u8"
Jan 07 04:26:42 jellydrive[2902642]: [02:26:42] [INF] [122] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2  -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "abc19b38bba2d5bb6f6667bece9bd94f-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/abc19b38bba2d5bb6f6667bece9bd94f%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/abc19b38bba2d5bb6f6667bece9bd94f.m3u8"
Jan 07 04:26:51 jellydrive[2902642]: [02:26:51] [INF] [145] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2  -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "5262071fae73025a08e858dc25b2c5f9-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/5262071fae73025a08e858dc25b2c5f9%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/5262071fae73025a08e858dc25b2c5f9.m3u8"
Jan 07 04:58:26 jellydrive[2902642]: [02:58:26] [INF] [9] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2  -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "53dac21c4fd42e7c3c40085153a9bdfe-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/53dac21c4fd42e7c3c40085153a9bdfe%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/53dac21c4fd42e7c3c40085153a9bdfe.m3u8"
Jan 07 05:05:10 jellydrive[2902642]: [03:05:10] [INF] [115] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2  -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "3f1083f65f469929110e9c7d35146e21-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/3f1083f65f469929110e9c7d35146e21%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/3f1083f65f469929110e9c7d35146e21.m3u8"
Jan 07 05:05:46 jellydrive[2902642]: [03:05:46] [INF] [145] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2  -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "367551af2df6d7976f19b0662d95322c-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/367551af2df6d7976f19b0662d95322c%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/367551af2df6d7976f19b0662d95322c.m3u8"
Jan 07 05:05:53 jellydrive[2902642]: [03:05:53] [INF] [103] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2  -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "186d693958aab469a7d9c5648d868744-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/186d693958aab469a7d9c5648d868744%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/186d693958aab469a7d9c5648d868744.m3u8"
Jan 07 05:09:12 jellydrive[2902642]: [03:09:12] [INF] [62] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2  -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "57c919d2f7e97f4e1ca86d11d55acd36-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/57c919d2f7e97f4e1ca86d11d55acd36%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/57c919d2f7e97f4e1ca86d11d55acd36.m3u8"
@mailinglists35 commented on GitHub (Jan 7, 2026): server logs ```` $ journalctl --no-hostname --user -S yesterday | grep 20260101_160813_1.mp4 Jan 07 04:22:38 jellydrive[2902642]: [02:22:38] [INF] [75] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f mov,mp4,m4a,3gp,3g2,mj2 -init_hw_device cuda=cu:0 -filter_hw_device cu -hwaccel cuda -hwaccel_output_format cuda -noautorotate -hwaccel_flags +unsafe_output -threads 1 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset ultrafast -crf 23 -maxrate 5743699 -bufsize 11487398 -profile:v:0 high -level 51 -x264opts:0 subme=0:me_range=16:rc_lookahead=10:me=hex:open_gop=0 -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,tonemap_cuda=format=yuv420p:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=yuv420p" -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "a6c84033d2163a32e29f341392db5b51-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/a6c84033d2163a32e29f341392db5b51%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/a6c84033d2163a32e29f341392db5b51.m3u8" Jan 07 04:23:37 jellydrive[2902642]: [02:23:37] [INF] [103] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f mov,mp4,m4a,3gp,3g2,mj2 -init_hw_device cuda=cu:0 -filter_hw_device cu -hwaccel cuda -hwaccel_output_format cuda -noautorotate -hwaccel_flags +unsafe_output -threads 1 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset ultrafast -crf 23 -maxrate 5743699 -bufsize 11487398 -profile:v:0 high -level 51 -x264opts:0 subme=0:me_range=16:rc_lookahead=10:me=hex:open_gop=0 -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,tonemap_cuda=format=yuv420p:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=yuv420p" -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "8634c568ec0024e25b49fac793c2ff51-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/8634c568ec0024e25b49fac793c2ff51%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/8634c568ec0024e25b49fac793c2ff51.m3u8" Jan 07 04:25:06 jellydrive[2902642]: [02:25:06] [INF] [63] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f mov,mp4,m4a,3gp,3g2,mj2 -init_hw_device cuda=cu:0 -filter_hw_device cu -hwaccel cuda -hwaccel_output_format cuda -noautorotate -hwaccel_flags +unsafe_output -threads 1 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset ultrafast -crf 23 -maxrate 5743699 -bufsize 11487398 -profile:v:0 high -level 51 -x264opts:0 subme=0:me_range=16:rc_lookahead=10:me=hex:open_gop=0 -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,tonemap_cuda=format=yuv420p:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=yuv420p" -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "4eaca1f8e09089386d6a847bd2ffcf95-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/4eaca1f8e09089386d6a847bd2ffcf95%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/4eaca1f8e09089386d6a847bd2ffcf95.m3u8" Jan 07 04:25:14 jellydrive[2902642]: [02:25:14] [INF] [33] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f mov,mp4,m4a,3gp,3g2,mj2 -init_hw_device cuda=cu:0 -filter_hw_device cu -hwaccel cuda -hwaccel_output_format cuda -noautorotate -hwaccel_flags +unsafe_output -threads 1 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset ultrafast -crf 23 -maxrate 5743699 -bufsize 11487398 -profile:v:0 high -level 51 -x264opts:0 subme=0:me_range=16:rc_lookahead=10:me=hex:open_gop=0 -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,tonemap_cuda=format=yuv420p:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=yuv420p" -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "900003da8deadd3548ebabbb5a36e961-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/900003da8deadd3548ebabbb5a36e961%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/900003da8deadd3548ebabbb5a36e961.m3u8" Jan 07 04:25:34 jellydrive[2902642]: [02:25:34] [INF] [157] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f mov,mp4,m4a,3gp,3g2,mj2 -init_hw_device cuda=cu:0 -filter_hw_device cu -hwaccel cuda -hwaccel_output_format cuda -noautorotate -hwaccel_flags +unsafe_output -threads 1 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -noautoscale -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset ultrafast -crf 23 -maxrate 5743699 -bufsize 11487398 -profile:v:0 high -level 51 -x264opts:0 subme=0:me_range=16:rc_lookahead=10:me=hex:open_gop=0 -force_key_frames:0 "expr:gte(t,n_forced*3)" -sc_threshold:v:0 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,tonemap_cuda=format=yuv420p:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=yuv420p" -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "dbbfc2464efe99e60a1bb42d850b72e6-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/dbbfc2464efe99e60a1bb42d850b72e6%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/dbbfc2464efe99e60a1bb42d850b72e6.m3u8" Jan 07 04:25:41 jellydrive[2902642]: [02:25:41] [INF] [63] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "70d70ac6d8f1cc1fbd00e7659539216b-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/70d70ac6d8f1cc1fbd00e7659539216b%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/70d70ac6d8f1cc1fbd00e7659539216b.m3u8" Jan 07 04:25:45 jellydrive[2902642]: [02:25:45] [INF] [157] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "7d625248e273e6bbd8ee7c55abdb4aa6-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/7d625248e273e6bbd8ee7c55abdb4aa6%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/7d625248e273e6bbd8ee7c55abdb4aa6.m3u8" Jan 07 04:25:56 jellydrive[2902642]: [02:25:56] [INF] [108] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "48f0dc9bf832350e1dd07de7c678997c-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/48f0dc9bf832350e1dd07de7c678997c%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/48f0dc9bf832350e1dd07de7c678997c.m3u8" Jan 07 04:26:31 jellydrive[2902642]: [02:26:31] [INF] [108] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "c4e8b52019988eece51223545ac13991-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/c4e8b52019988eece51223545ac13991%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/c4e8b52019988eece51223545ac13991.m3u8" Jan 07 04:26:42 jellydrive[2902642]: [02:26:42] [INF] [122] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "abc19b38bba2d5bb6f6667bece9bd94f-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/abc19b38bba2d5bb6f6667bece9bd94f%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/abc19b38bba2d5bb6f6667bece9bd94f.m3u8" Jan 07 04:26:51 jellydrive[2902642]: [02:26:51] [INF] [145] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "5262071fae73025a08e858dc25b2c5f9-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/5262071fae73025a08e858dc25b2c5f9%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/5262071fae73025a08e858dc25b2c5f9.m3u8" Jan 07 04:58:26 jellydrive[2902642]: [02:58:26] [INF] [9] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "53dac21c4fd42e7c3c40085153a9bdfe-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/53dac21c4fd42e7c3c40085153a9bdfe%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/53dac21c4fd42e7c3c40085153a9bdfe.m3u8" Jan 07 05:05:10 jellydrive[2902642]: [03:05:10] [INF] [115] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "3f1083f65f469929110e9c7d35146e21-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/3f1083f65f469929110e9c7d35146e21%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/3f1083f65f469929110e9c7d35146e21.m3u8" Jan 07 05:05:46 jellydrive[2902642]: [03:05:46] [INF] [145] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "367551af2df6d7976f19b0662d95322c-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/367551af2df6d7976f19b0662d95322c%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/367551af2df6d7976f19b0662d95322c.m3u8" Jan 07 05:05:53 jellydrive[2902642]: [03:05:53] [INF] [103] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "186d693958aab469a7d9c5648d868744-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/186d693958aab469a7d9c5648d868744%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/186d693958aab469a7d9c5648d868744.m3u8" Jan 07 05:09:12 jellydrive[2902642]: [03:09:12] [INF] [62] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -f mov,mp4,m4a,3gp,3g2,mj2 -i file:"/media/syncthing/Android Camera/Camera/20260101_160813_1.mp4" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "57c919d2f7e97f4e1ca86d11d55acd36-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/57c919d2f7e97f4e1ca86d11d55acd36%d.mp4" -hls_playlist_type vod -hls_list_size 0 -hls_segment_options movflags=+frag_discont -y "/cache/transcodes/57c919d2f7e97f4e1ca86d11d55acd36.m3u8" ````
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#4911