当前位置: 首页 > news >正文

ffmpeg 的视频格式转换 c# win10

1,下载ffmpeg ,并设置环境变量。

ffmpeghttps://www.gyan.dev/ffmpeg/builds/

2.新建.net 9.0  winform

using System;
using System.Diagnostics;
using System.Text;
using System.Windows.Forms;namespace WinFormsApp11
{public partial class Form1 : Form{public Form1(){InitializeComponent();}void StartPreview(){Process previewProcess = new Process();previewProcess.StartInfo.Arguments = " -i " + inputName + " -c:v " + bianma+ " " + outputName;// ffmpeg -i demo.avi -c:v libx264 output.mp4 previewProcess.StartInfo.FileName = "ffmpeg.exe";previewProcess.StartInfo.UseShellExecute = false;previewProcess.StartInfo.RedirectStandardInput = true;previewProcess.StartInfo.RedirectStandardOutput = true;previewProcess.StartInfo.RedirectStandardError = true;previewProcess.StartInfo.CreateNoWindow = true;previewProcess.Start();string output = previewProcess.StandardError.ReadToEnd();//很重要,不然不会自己退出previewProcess.WaitForExit();}string inputName = "";string outputName = "";string bianma = "libx264";private void button1_Click(object sender, EventArgs e){button1.Visible = false;inputName = textBox1.Text;textBox2.Text = Environment.CurrentDirectory + "\\" + System.DateTime.Now.ToString("yyyyMMdd_HHmmss") +"_"+bianma+ "_output.mkv";outputName = textBox2.Text;Task.Run(() =>{StartPreview();MessageBox.Show("转换完成");button1.BeginInvoke(new MethodInvoker(delegate (){button1.Visible = true;}));});}private void Form1_Load(object sender, EventArgs e){comboBox1.SelectedIndex = 0;inputName = System.DateTime.Now.ToString("yyyyMMdd_HHmmss") + "_input.avi";outputName = System.DateTime.Now.ToString("yyyyMMdd_HHmmss") + "_output.mkv";textBox1.Text = inputName;textBox2.Text = outputName;}private void button2_Click(object sender, EventArgs e){OpenFileDialog openFileDialog = new OpenFileDialog();// 设置对话框标题openFileDialog.Title = "选择一个视频文件";openFileDialog.Filter = "视频文件 (*.avi,*.mp4,*.mkv)|*.avi;*.mp4;*.mkv|所有文件 (*.*)|*.*";if (openFileDialog.ShowDialog() == DialogResult.OK){// 获取用户选择的文件路径inputName = openFileDialog.FileName;textBox1.Text = openFileDialog.FileName;}}private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){if (comboBox1.Text == "libx264") { bianma = "libx264"; }if (comboBox1.Text == "libx265") { bianma = "libx265"; }}}}

   string output = previewProcess.StandardError.ReadToEnd();//很重要,不然不会自己退出

整个工程下载:

【免费】ffmpeg的视频格式转换c#win10资源-CSDN文库https://download.csdn.net/download/vokxchh/90947301

http://www.lqws.cn/news/66277.html

相关文章:

  • 从 AMQP 到 RabbitMQ:核心组件设计与工作原理(二)
  • 【git-首次初始化本地项目、关联远程仓库】
  • 数字规则:进制转换与原码、反码、补码
  • Kotlin 扩展函数详解
  • SQL进阶之旅 Day 12:分组聚合与HAVING高效应用
  • 微软markitdown PDF/WORD/HTML文档转Markdown格式软件整合包下载
  • 智启未来:当知识库遇见莫奈的调色盘——API工作流重构企业服务美学
  • 【MySQL】事务
  • list类的详细讲解
  • JavaScript新特性structuredClone(),一行代码优化深拷贝策略
  • 数学分析——一致性(均匀性)和收敛
  • python打卡day42@浙大疏锦行
  • 湖北理元理律师事务所:个人债务管理的温度与精度
  • 劫持进程注入
  • 子串题解——和为 K 的子数组【LeetCode】
  • 自编码器Auto-encoder(李宏毅)
  • WSL2 安装与Docker安装
  • CP4-OFDM模糊函数原理及仿真
  • HTTPS
  • Flickr30k Entities短语定位评测指南
  • 微调大模型:什么时候该做,什么时候不该做?
  • 湖北理元理律师事务所:企业债务优化的科学路径与人文关怀
  • vscode编辑器怎么使用提高开发uVision 项目的效率,如何编译Keil MDK项目?
  • Nginx反向代理
  • Pull Request Integration 拉取请求集成
  • Mybatis-Plus 学习
  • JMeter 直连数据库
  • 设备驱动与文件系统:01 I/O与显示器
  • linux信号详解
  • Java正则表达式完全指南