如何解决如何使用ffmpeg将来自摄像机的实时流分成mp4格式的许多60秒视频片段
使用以下代码:
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"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。