问题描述
使用以下代码:
ffmpeg -f dshow -rtbufsize 1000M -i video = "Game Capture HD60 S (Video) (# 01)" -codec copy -map 0 -f segment -segment_time 60 -reset_timestamps 1 "C: \ Program Files (x86) \ ffmpeg \ test \ clips \ testfile_piece_% 02d.mp4 "
我有以下问题:
“在流#0中找不到编解码器rawvideo的标签,找不到编解码器 当前在容器中受支持无法为输出写入标头 文件#0(编解码器参数不正确?):参数无效”
我该如何解决?
谢谢
解决方法
原始视频
您正在使用启用stream copy模式的-codec copy
。 dshow输出未压缩的原始视频。 MP4不支持原始视频。
您可能不想要原始视频。它会生成大量文件,而播放机可能无法播放。
如果要将原始视频更改输出到MOV,Matroska(.mkv
)或AVI(AVI不支持所有原始视频像素格式)。
选择编码器
因为要输出到MP4,所以可能需要H.264或H.265 / HEVC视频,而不是原始视频。
将-codec copy
替换为-c:v libx264
或-c:v libx265
。
或者省略-codec copy
,它将使用MP4的默认编码器,几乎可以肯定是libx264(取决于您的ffmpeg
配置:请参见ffmpeg -h muxer=mp4
)。
所以您的命令可能类似于:
ffmpeg -f dshow -rtbufsize 1000M -i video="Game Capture HD60 S (Video) (# 01)" -c:v libx264 -map 0 -f segment -segment_time 60 -reset_timestamps 1 "C:\Program Files (x86)\ffmpeg\test\clips\testfile_piece_%02d.mp4"