Jellyfin Forum
Converting Dolby Vision to HDR10 - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Guides, Walkthroughs & Tutorials (https://forum.jellyfin.org/f-guides-walkthroughs-tutorials)
+--- Thread: Converting Dolby Vision to HDR10 (/t-converting-dolby-vision-to-hdr10)

Pages: 1 2 3 4 5 6 7 8 9 10 11


RE: Converting Dolby Vision to HDR10 - teddy101 - 2024-12-17

Thanks for the answer Smiling-face


RE: Converting Dolby Vision to HDR10 - gnattu - 2024-12-17

> But, as I stated, DV5 is already highly compatible with most devices. HDR10 is NOT better than DV7 and DV8. But DV7 and DV8 have compatibility issues with some clients and THAT is the reason for this guide. HDR10 is highly compatible with many clients. But so is DV5.

Not quite. Most PCs are not compatible with DV P5 because that would require a dolby certified device. The one provided by mpv is not real DV P5 but more likely a tone mapped DV to HDR10 which does not use the real dolby vision tone mapping curves.


RE: Converting Dolby Vision to HDR10 - gnattu - 2024-12-17

> Converting DV5 to HDR10 is NOT a simple process as that would involve converting the color space from IPTPQc2 to BT2020. It would be slow and involve re-encoding.

It requires more than that because Dolby Vision Profile 5 is actually 12bit HDR which means merely doing the 10bit IPTPQc2 to BT2020-PQ conversion will not be enough and you would need to do reshaping using the dolby vision metadata to get correct color. This is currently implemented with our hardware tonemap filters when you specify transfer=smpte2084:matrix=bt2020:primaries=bt2020. The software tonemapx filter currently cannot output smpte2084 transfers so you will need to use the hardware filter to do such conversion.


RE: Converting Dolby Vision to HDR10 - lakinreid - 2024-12-18

(2024-12-17, 02:42 AM)theguymadmax Wrote:
(2024-12-17, 02:17 AM)lakinreid Wrote: So I'm attempting to use the updated line of code, but can't seem to get it working.. Am I running the powershell window in the wrong place? This is my first time dealing with FFMPEG and very much a novice at command line prompts, so please excuse my ignorance..

You only typed the arguments for the program. You need to first call the executable, then pass the arguments. See the example below:

Code:
.\ffmpeg.exe -y -hide_banner -stats -fflags ............

Here are the results of my second attempt.. I feel like I'm missing something just very obvious..  Upside-down-face

also quick note for theDreadPirate, I was successful in updating my Jellyfin! Though I couldn't find where ffmpeg was located within Jellyfin, so I'm using the downloaded one in my argument.


RE: Converting Dolby Vision to HDR10 - theguymadmax - 2024-12-18

(2024-12-18, 02:05 AM)lakinreid Wrote:
(2024-12-17, 02:42 AM)theguymadmax Wrote:
(2024-12-17, 02:17 AM)lakinreid Wrote: So I'm attempting to use the updated line of code, but can't seem to get it working.. Am I running the powershell window in the wrong place? This is my first time dealing with FFMPEG and very much a novice at command line prompts, so please excuse my ignorance..

You only typed the arguments for the program. You need to first call the executable, then pass the arguments. See the example below:

Code:
.\ffmpeg.exe -y -hide_banner -stats -fflags ............

Here are the results of my second attempt.. I feel like I'm missing something just very obvious..  Upside-down-face

also quick note for theDreadPirate, I was successful in updating my Jellyfin! Though I couldn't find where ffmpeg was located within Jellyfin, so I'm using the downloaded one in my argument.

So in my example I told you to enter this command
Code:
.\ffmpeg.exe -y -hide_banner -stats ......
but instead you entered
Code:
"c:\full_path_to\ffmpeg.exe" -y -hide_banner -stats ......
 
Do you see the difference?


RE: Converting Dolby Vision to HDR10 - lakinreid - 2024-12-18

(2024-12-18, 02:21 AM)theguymadmax Wrote:
(2024-12-18, 02:05 AM)lakinreid Wrote:
(2024-12-17, 02:42 AM)theguymadmax Wrote:
(2024-12-17, 02:17 AM)lakinreid Wrote: So I'm attempting to use the updated line of code, but can't seem to get it working.. Am I running the powershell window in the wrong place? This is my first time dealing with FFMPEG and very much a novice at command line prompts, so please excuse my ignorance..

You only typed the arguments for the program. You need to first call the executable, then pass the arguments. See the example below:

Code:
.\ffmpeg.exe -y -hide_banner -stats -fflags ............

Here are the results of my second attempt.. I feel like I'm missing something just very obvious..  Upside-down-face

also quick note for theDreadPirate, I was successful in updating my Jellyfin! Though I couldn't find where ffmpeg was located within Jellyfin, so I'm using the downloaded one in my argument.

So in my example I told you to enter this command
Code:
.\ffmpeg.exe -y -hide_banner -stats ......
but instead you entered
Code:
"c:\full_path_to\ffmpeg.exe" -y -hide_banner -stats ......
 
Do you see the difference?

Hell yes, finally got it.  Ok-hand thank you very much!! Just out of curiosity, what does ".\" do? Just automatically finds where ffmpeg.exe is located?


RE: Converting Dolby Vision to HDR10 - TheDreadPirate - 2024-12-18

.\ tells Windows to execute the file.


RE: installation Jellyfin on Synology - fcs001fcs - 2024-12-18

I tried using the updated command in the first post of this thread, but I am in the Exec Console of a Jellyfin Container in Portainer on a Terramaster F4-423 NAS and I get the below error.

Code:
[out#0/matroska @ 0x560aec387200] Error opening output /movies/XXXXTest/hdr10_video.mkv: Read-only file system
Error opening output file /movies/XXXXTest/hdr10_video.mkv.
Error opening output files: Read-only file system


I tried logging in as root and then the PUID:GUID, but the same thing.

How can I get this to work?


RE: Converting Dolby Vision to HDR10 - fcs001fcs - 2024-12-18

(2024-08-06, 09:25 PM)TheDreadPirate Wrote: ****This guide has been updated****

Jellyfin-ffmpeg 7.0.2-4 added a feature to remove Dolby Vision directly.  The process of removing Dolby Vision can now be accomplished with a single ffmpeg command, greatly simplifying the process.  I am leaving the original walkthrough for those on non-Jellyfin builds of ffmpeg or jellyfin-ffmpeg6.

Code:
/usr/lib/jellyfin-ffmpeg/ffmpeg -y -hide_banner -stats -fflags +genpts+igndts -loglevel error -i "/path/to/dv_video.mkv" -map 0 -bsf:v hevc_metadata=remove_dovi=1 -codec copy -max_muxing_queue_size 2048 -max_interleave_delta 0 -avoid_negative_ts disabled hdr10_video.mkv

And that is it.  Still no re-encoding required.
=========================================================================

This script worked great in Jellyfin 10.10.3 that I have in a Portainer Container on a Terramaster F4-423 NAS. I used the Exec Console of the Container to run the script and did some moving around in the host directories to get the updated MKV in the right folder for Radarr and Jellyfin.

Thanks.

Is there any way to make a plugin for Jellyfin or some other automation to make this simpler to do for us newbies?


RE: Converting Dolby Vision to HDR10 - TheDreadPirate - 2024-12-18

Someone probably could make a plugin to do this, but I don't like the idea of Jellyfin modifying my files automatically. This is not something that can be done on the fly either.

(2024-12-18, 06:03 PM)fcs001fcs Wrote: I tried using the updated command in the first post of this thread, but I am in the Exec Console of a Jellyfin Container in Portainer on a Terramaster F4-423 NAS and I get the below error.

Code:
[out#0/matroska @ 0x560aec387200] Error opening output /movies/XXXXTest/hdr10_video.mkv: Read-only file system
Error opening output file /movies/XXXXTest/hdr10_video.mkv.
Error opening output files: Read-only file system


I tried logging in as root and then the PUID:GUID, but the same thing.

How can I get this to work?

I moved this post from the other thread.  Are you still having issues?  I'm assuming you figured out that you needed to write to a directory that wasn't read-only to the container.