Ale*_*lex 3 ffmpeg hdr opencl nvidia-graphics-card
在互联网上搜索后,我终于成功编译了启用 OpenCL 的 FFMPEG,这使我能够使用 NVIDIA P400(应用了流限制补丁)尝试HDR -> SDR 转换。
\n\n这在很大程度上归功于\xe6\x9e\x97\xe6\xad\xa3\xe6\xb5\xa9的各种详细指南/解释。不幸的是,我对这些命令没有太多的了解,并且我或多或少地复制了各种不同的命令来尝试实现我想要的!
\n\n我的问题是硬件色调映射似乎并不比软件色调映射快。
\n\n以下实现了大约 0.4 倍的速度:
\n\nffmpeg -hwaccel nvdec -init_hw_device opencl=ocl -filter_hw_device ocl -threads 4 -extra_hw_frames 3 -I INPUT.mkv -vf "format=p010,hwupload,tonemap_opencl=t=bt709:r=tv:p=bt709:m=bt709:tonemap=hable:format=p010,hwdownload,format=p010" OUTPUT\nRun Code Online (Sandbox Code Playgroud)\n\n我之前使用软件尝试过的命令达到了类似的 0.6x - 0.4x:
\n\nffmpeg -I INPUT.mkv -vf zscale=t=linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=hable:desat=0,zscale=t=bt709:m=bt709:r=tv,format=yuv420p -c:a copy -max_muxing_queue_size 9999 /dev/shm/output.mkv\nRun Code Online (Sandbox Code Playgroud)\n\n我知道它们是相当不同的命令,但就像我说的;从各种示例中剪切和粘贴。
\n\n我的问题是硬件加速色调映射 HDR -> SDR 最有效的命令是什么,并且理想情况下从 4k 降级到 1080p?(我的学习还没有那么深入)
\n\n我希望人们能够看到我已经调查过这个问题,而不仅仅是寻求帮助;我尝试过但未能找到答案!
\n\n先感谢您
\n我设法在质量和速度之间找到了一个很好的折衷方案;对我来说,结果令人满意:FHD SDR 色调映射输出。
对于其他任何人;这是我决定继续使用的命令:
ffmpeg -vsync 0 -hwaccel cuda -init_hw_device opencl=ocl -filter_hw_device ocl -extra_hw_frames 3 -threads 16 -c:v hevc_cuvid -resize 1920x1080 -i INPUT -vf "format=p010,hwupload,tonemap_opencl=tonemap=mobius:param=0.01:desat=0:r=tv:p=bt709:t=bt709:m=bt709:format=nv12,hwdownload,format=nv12" -c:a copy -c:s copy -c:v libx264 -max_muxing_queue_size 9999 OUTPUT
Run Code Online (Sandbox Code Playgroud)
这在 67 分 27 秒内完成了 4K UHD Dsic Rip MKV 的转换,而文件运行时间为 2 小时 01 分 49 秒,平均转换率为 1.8 倍。
请注意,我决定使用软件编码,因为质量显着提高,但编码时间增加最少。
| 归档时间: |
|
| 查看次数: |
10172 次 |
| 最近记录: |