我使用可以通过我的软件控制的Panasonic hcm280a相机,它生成了一个巨大的jpeg文件流,我希望将此流转换为FLV流,最好具有良好的压缩比率
FFMpeg会这样做吗?我基本上正在寻找一个可以为我生成流媒体的搁置开源软件(或商业软件)。我的输入再次是来自摄像机服务器的jpg文件流。
非常感谢任何见解或评论 感谢
答案 0 :(得分:3)
this question的答案确认FFmpeg能够从一系列图像构建视频。但是,没有给出细节。
在FFmpeg常见问题解答中,您可以找到:
3.2 How do I encode single pictures into movies?
首先,重命名图片以遵循数字顺序。例如,img1.jpg
,img2.jpg
,img3.jpg
,...然后您可以运行:
ffmpeg -f image2 -i img%d.jpg /tmp/a.mpg
请注意%d
已替换为图像编号。
img%03d.jpg
表示序列img001.jpg
,img002.jpg
等......
ffmpeg读取的任何图像格式都使用相同的逻辑。
答案 1 :(得分:1)
这不是您问题的具体答案,但www.doom9.org是与视频相关的极好信息来源,值得查看下载和指南
答案 2 :(得分:1)
使用ffmpeg
执行此操作。我假设您的框架名称为frame0000.jpg
,frame0001.jpg
,...
ffmpeg -f image2 -r 1 -i frame%04d.jpg -s 320x240 -y -an -r 24 out.flv
-r 1
告诉输入流是每秒一帧(每秒一个图像),选择你喜欢的那个
-s 320x240
缩放所有帧
-y -an
覆盖输出文件并禁用录音
-r 24
在输出流中有24 fps
您还可以考虑将-sameq
置于中间以尽可能保持质量。
要正确重命名所有框架,您可以使用此bash one liner:
i=0 ; for f in *.jpg ; do mv "$f" $(printf "frame%04d.jpg" $i) ; i=$((i+1)) ; done
答案 3 :(得分:1)
Motion使用ffmpeg输出flv文件:http://www.lavrsen.dk/twiki/bin/view/Motion/WebHome 您可以禁用运动检测并使其连续输出(请参阅''ffmpeg_video_codec flv'上的'output_all')。