我试图取下盖子编码时从文件中获取。我正在使用,-map_metadata -1
但是它不起作用。
这是我的 ffmpeg 命令:xxxx 和输入/输出是真实值
ffmpeg -i input -map 0:v -map 0:a:0? -map 0:s? -map_metadata -1 -c:v libx265 -b:v xxxxk -preset superfast -vf "scale=1920:-2" -c:a copy -c:s copy -x265-params pass=1 -f Matroska -y NUL && ^
ffmpeg -i input -map 0:v -map 0:a:0? -map 0:s? -map_metadata -1 -c:v libx265 -b:v xxxxk -preset superfast -vf "scale=1920:-2" -c:a copy -c:s copy -x265-params pass=2 output
ffmpeg 将封面视为视频:(看起来确切地相同无-map_metadata -1
)
Stream #0:4: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown),
640x360 [SAR 72:72 DAR 16:9], 90k tbr, 90k tbn (attached pic)
Metadata:
filename : cover.jpg
mimetype : image/jpeg
映射看起来如下:(看起来确切地相同无-map_metadata -1
)
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> hevc (libx265))
Stream #0:4 -> #0:1 (mjpeg (native) -> hevc (libx265))
Stream #0:1 -> #0:2 (eac3 (native) -> ac3 (native))
Stream #0:2 -> #0:3 (copy)
Stream #0:3 -> #0:4 (copy)
- 我应该使用哪个命令来完全删除它(也删除具有多个音频流的其他文件)
- 是否可以以“正确”的方式复制它?
答案1
用来-map 0:V
代替-map 0:v
不映射覆盖流。
要复制封面流但编码常规视频流,请保留-map 0:v
并更改-c:v libx265
为-c:v copy -c:V libx265
和更改-vf "scale=1920:-2"
为-filter:v:0 "scale=1920:-2"