根据好的答案进行更新:
来源: Prores HQ 4:2:2 10bit 4kp25 REC:2020
现在是我的语法:
ffmpeg -pix_fmt yuv422p10 -i JUNGLES_PLUTO_UHD_HDR_HLG.mov -pix_fmt yuv420p10 -f yuv4mpegpipe - | x265 --y4m - --input-res 3840x2160 --fps 25 --preset veryslow --b-adapt 2 --ref 4 --no-open-gop --keyint 50 --min-keyint 50 --no-scenecut --profile main --level-idc 5 --no-high-tier --sar 1:1 --colorprim bt709 --transfer bt709 --colormatrix bt709 --bframes 3 --hrd --vbv-bufsize 25000 --bitrate 25000 --vbv-maxrate 25000 --aud --no-info --b-pyramid -o test.h265
output: Option pixel_format not found.
目标:(非hdr UHD机顶盒)
hevc.file
rec:709
问题4:由于内容是BT2020,但我的目标设备目前无法显示/渲染BT2020,但BT709 ..我将如何更改语法以最佳方式启用此功能..(缩减它) 会:
- colorprim bt2020 --transfer bt2020 --colormatrix bt709
是对的吗?
答案 0 :(得分:3)
Option pixel_format not found.
删除-pix_fmt yuv422p10
输入选项。这不是必需的,因为您的输入不是rawvideo,ffmpeg
可以自动从输入文件中检测到它。
问题1:如何从ffmpeg正确管道到x265?
如果您的ffmpeg
支持libx265,那么您甚至不需要管道:
ffmpeg -i input.mov -c:v libx265 -crf 28 output.mp4
您没有提供ffmpeg
的任何输出。在管道时,您可以使用-
作为输出。
ffmpeg -i input.mov -f yuv4mpegpipe - | x265 --y4m - -o output.265
输入为MOV,因此此容器包含像素格式,大小和帧速率信息,因此您可以省略所有输入选项。此外,正如安德烈在评论中提到的那样,您也不需要-f rawvideo
因为它将覆盖MOV分路器的自动选择。
如果您实际上是在输入rawvideo,那么您需要其他选项,但应将其更改为:-pxt_fmt
至-pixel_format
,-s
至-video_size
,以及-r
至-framerate
,如rawvideo demuxer documentation所示。
使用-f yuv4mpegpipe
而不是-t yuv4mpegpipe
。
您无需为x265的Y4M输入声明--input-res
或--fps
。
问题2:如何确保cpus全部纳税?我有16vcores,但我在所有
上的使用率为2-3%
您可以一次运行多个编码实例。
问题3:有关提高质量的参数的建议吗?
使用--crf
代替--bitrate
。较低的值是较高的质量。范围是0-51。请参阅FFmpeg Wiki: H.265。
问题4:由于内容是BT2020,但我的目标设备目前无法显示/渲染BT2020,但BT709 ..我将如何更改语法以最佳方式启用此功能..(缩减它)< / p>
您可以使用ffmpeg
:-vf scale=-2:1080