我遇到了无法setsar=sar=1/1
在我创建的所有视频流上进行设置的问题......
例如
ffmpeg -i {file} -c:v libaom-av1 -pix_fmt yuv420p
-map 0:v:0 -filter:v:0 scale=-2:144,setsar=sar=1/1
-map 0:v:0 -filter:v:1 scale=-2:240,setsar=sar=1/1
-init_seg_name "init-\$RepresentationID\$.\$ext\$"
-media_seg_name "chunk-\$RepresentationID\$-\$Number%05d\$.\$ext\$"
-dash_segment_type auto
-use_template 1 -use_timeline 1 -seg_duration 10
-adaptation_sets "id=0,streams=v id=1,streams=a"
-f dash /mkv_f/dash.mpd
一个输入文件,需要在输出端获得多个视频流。每个视频流应具有SAR 1:1
、 和DAR
自适应(自动)。
144/240
尝试过将分辨率转换为不同的文件setsar=sar=1/1
。它可以工作,但是当你需要转换为多个文件时。不允许你设置参数setsar=sar=1/1
Conflicting stream aspect ratios values in Adaptation Set 1. Please ensure all adaptation sets have the same aspect ratio
[out#0/dash @ 0x558afdf4b9c0] Could not write header (incorrect codec parameters ?): Invalid argument
[vf#0:1 @ 0x558afdf76d40] Error sending frames to consumers: Invalid argument
[vf#0:1 @ 0x558afdf76d40] Task finished with error code: -22 (Invalid argument)
[vf#0:1 @ 0x558afdf76d40] Terminating thread with return code -22 (Invalid argument)
如何setsar=sar=1/1
在所有视频流上设置?并且 DAR 将自动设置...
根据以下和随后的帖子,同一自适应集中的所有视频必须具有相同的PAR(像素纵横比)。PAR
=DAR/SAR,应用
setsar=1
会产生不同的 PAR 属性。解决方案是为每个视频流创建一个适配集,如下文所述。
替换
-adaptation_sets "id=0,streams=v id=1,streams=a"
为:注意:
该解决方案应用了 3 个流(两个视频和一个音频)。
如果输入文件有音频流,请添加
-map 0:a:0
。如果没有音频,请使用
-adaptation_sets "id=0,streams=0 id=1,streams=1"