C#:使用ffmpeg将图片合并成视频

这篇具有很好参考价值的文章主要介绍了C#:使用ffmpeg将图片合并成视频。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  最近遇到公司的一个项目,需要将多张图片合并成一个播放的视频,找了很多资料和尝试了工具,遇到很多的坑,这里记下来,希望大家也能顺利解决遇到的问题。

  合并视频,主要可以借用OpenCV 和 ffmpeg,这里是尝试用ffmpeg.exe的工具去实现图片文件合并成视频。

  输入存储视频文件的路径,通过ProcessStartInfo 调用ffmpeg.exe软件启动合并图片操作,并在startInfo.Arguments写入控制指令。

#region 图片转视频
public void ImageGetVideo()
{
string ffmpeg = string.Format("{0}ffmpeg.exe", AppDomain.CurrentDomain.BaseDirectory);
try
{
string videoFile = MP4Path.Text + @"test.mp4 "; //创建视频文件命
if (File.Exists(videoFile))
{
File.Delete(videoFile);
}

this.KillProcess("ffmpeg"); //注意,进程名字不带.exe之类后缀

ProcessStartInfo startInfo = new ProcessStartInfo(ffmpeg);
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
// -i foo.avi -r 1 -s WxH -f image2 foo-%03d.jpeg //这是把视频转图片的
//及其耗CUP的指定帧截取图片帧 string.Format(" -i \"{0}\" -y -f image2 -ss {1} -s \"{2}\" \"{3}\"", vedioPath, catchTime, saveImgSize, saveImgPath)
//string param = string.Format(" -f image2 -i " + txtPath.Text + @"\%d.jpg -vcodec libx264 -r 10 " + MP4Path.Text + @"\test.mp4 ");
string param = string.Format(" -f image2 -r (1/3) -i " + txtPath.Text + @"\%d.jpg -vf fps=12 " + MP4Path.Text + @"\test.mp4 ");
//param = param + string.Format(" ffplay -i " + MP4Path.Text + @"\test.mp4 -vf setpts=PTS/(1/16)");

startInfo.Arguments = param;
System.Diagnostics.Process.Start(startInfo).Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
return;
}
}
#endregion

指令注意:

" -f image2 -i " + (图片文件地址)+ @"\%d.jpg -vcodec libx264 -r 10 " + (视频文件地址)+ @"\test.mp4 "  ,最后面的是存放视频的文件名称,注意这里放的图片序号一定要是连续的(例:1.jpg,2.jpg,3.jpg....),不然合并不成功,这里设置的播放图片的时间间隔是3S,并且合并图片最好在第一张图片放一张黑色底图,第一张图片切到第二图片,没有时间间隔,容易一闪而过,放一张黑色底图,序号改成1.jpg,可以不影响后面图片的播放。

 文章来源地址https://www.toymoban.com/news/detail-428185.html

到了这里,关于C#:使用ffmpeg将图片合并成视频的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何使用 ffmpeg 对视频进行切分、合并

    1. 按照视频时间点进行截取, 起止点:00:00:06 ~ 00:20:36 ffmpeg -ss 00:00:06 -to 00:20:36 -accurate_seek -i \\\"input.mp4\\\" -avoid_negative_ts 1 -c copy \\\"ouput.mp4\\\" -y 2.  分离视频和音频 ffmpeg -i \\\"input.mp4\\\" -vcodec copy -an \\\"out-vod.mp4\\\" ffmpeg -i \\\"input.mp4\\\" -acodec copy -vn \\\"out-sound.m4a\\\"  3. 去除水印(指定区域模糊化,以

    2024年02月09日
    浏览(39)
  • 使用 ffmpeg 命令将视频转图片

    因为要从视频中提取只出现了一瞬间的画面,所以需要将视频转为图片。这里就使用 ffmpeg 进行操作,FFmpeg 配置参考:https://blog.csdn.net/BeanGo/article/details/128918136 我这里是在 Windows 下使用,之前有配置过 ffmpeg,直接使用就行。 注: Windows 下路径连接用 “”,Linux 下用 “/”

    2024年02月11日
    浏览(43)
  • 使用ffmpeg生成测试视频和图片

    要使用FFmpeg生成测试视频和图片,需要安装FFmpeg,并使用命令行工具执行相应的命令。 一、生成测试视频 创建一个测试视频源文件 test.mp4: ffmpeg -f lavfi -i testsrc=duration=5:size=1280x720:rate=30 test.mp4 上述命令可以生成一个时长为5秒,分辨率为1280x720,帧率为30的测试视频源文件t

    2023年04月11日
    浏览(40)
  • C#使用ffmpeg录视频和拍照

    c#使用ffmpeg调用aforge引用包实现摄像设备拍照及录像 AForge.dll 是框架的核心基础类库,为其他类库提供服务。 AForge.Controls.dll 包含AForge.Net的UI控件,主要用于页面显示。 AForge.Imaging.dll 主要是框架中用于图像处理的类库,主要负责图像的处理 AForge.Video.dll 主要是框架中对视频处

    2024年02月04日
    浏览(33)
  • 使用ffmpeg对视频、图片进行旋转,上下翻转,水平翻转

    简介 :在使用ffmpeg做.h264编码后可能会使用vlc播放出现了图像垂直颠倒。可能的原因:RGB图像有两种存储方式:一种是从上往下扫描;另一种是从下往上扫描。OpenCV为从上往下扫描的方式,ffmpeg可能也是从上往下的存储方式,而OpenGL/Unity中的帧缓冲数据可能是从下往上的扫描

    2024年02月15日
    浏览(83)
  • C#使用FFMpeg.Autogen进行rtsp视频倍速播放

    1.在你的C#项目中,使用NuGet包管理器安装FFMpeg.Autogen。可以在Visual Studio中打开NuGet包管理器控制台,并运行以下命令来安装它: 2.在代码引入命名空间: 3.创建一个FFmpeg的上下文(AVFormatContext)对象,并打开rtsp视频流: 4.检查打开视频流的结果,确保成功打开: 5.查找并打开

    2024年02月08日
    浏览(39)
  • 使用 ffmpeg-python+命名管道进行图片转视频或推流

    命名管道(Named Pipe),也被称为FIFO,是一种在UNIX、Linux和类Unix系统中用于实现进程间通信(IPC)的机制。在Python中,我们可以使用 os 模块来创建和操作命名管道。 命名管道实际上是个特殊的文件,需要先创建 读写前后需要打开关闭 ffmpeg从命名管道输入源的方法与普通文件

    2024年04月16日
    浏览(39)
  • 哔哩哔哩视频合并 B站缓存视频合并 安卓版 音视频合并 基于ffmpeg

    此软件是为了帮助网友合并哔哩哔哩缓存视频,Android上将bilibili缓存视频合并导出为mp4,你可以将它理解为一个专用的格式工厂,并不涉及破解相关内容,仅仅用于学习技术交流,严禁用于商业用途,如有侵权请联系我删档,对你带来困惑和不便我深感抱歉。 合并(导出)B站缓

    2024年02月02日
    浏览(73)
  • ffmpeg@音视频工具@音视频合并

    FFmpeg中文网 (github.net.cn) FFmpeg 是一款强大的开源跨平台音视频处理工具集,它包含了一系列命令行工具以及用于音频和视频编码解码、格式转换、抓取、流化等功能的库。FFmpeg 支持多种视频、音频格式和编解码器,能够进行音视频的压缩、封装、转码、分割、合并、过滤、抓

    2024年03月17日
    浏览(79)
  • 利用FFmpeg合并音频和视频

    一、FFmpeg 多个音频合并的2种方法 多个mp3文件合并成一个mp3文件 一种方法是连接到一起 ffmpeg64.exe -i \\\"concat:123.mp3|124.mp3\\\" -acodec copy output.mp3 解释:-i代表输入参数     contact:123.mp3|124.mp3代表着需要连接到一起的音频文件                  -acodec copy  output.mp3 重新编码并复制到

    2024年04月10日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包