当前位置:网站首页>【技术教程】C#控制台调用FFMPEG推MP4视频文件至流媒体开源服务平台EasyDarwin过程
【技术教程】C#控制台调用FFMPEG推MP4视频文件至流媒体开源服务平台EasyDarwin过程
2020-11-10 08:54:00 【osc_b71hj3or】
之前写过一篇科普文《如何使用RTSP推流组件EasyPusher将MP4文件推到EasyDarwin开源平台》,在该文中 ,我们尝试了通过EasyPusher将MP4文件推到EasyDarwin,但是除了这个方法之外,我们还有其他方法将MP4文件推送到EasyDarwin上。
本文就和大家分享一下C#控制台调用FFMPEG推MP4视频文件至流媒体开源服务平台EasyDarwin过程。
1、新建一个控制台应用项目,将下载好的FFMPEG放在程序根目录下面,如下图:
在main函数中写如下代码:
static void Main(string[] args)
{
string exePath = "./ffmpeg/bin/ffmpeg.exe";
string arguments = "";
arguments = "-re -stream_loop -1 -i test.mp4 -vf ";
arguments += "settb=AVTB,setpts='trunc(PTS/1K)*1K+st(1,trunc(RTCTIME/1K))-1K*trunc(ld(1)/1K)',drawtext=fontsize=20:fontcolor=white:text='%{localtime}'";
arguments += " -rtsp_transport tcp -vcodec h264 -f rtsp rtsp://127.0.0.1:554/test2.sdp";
ProcessStartInfo info = new ProcessStartInfo(exePath, arguments);
info.WindowStyle = ProcessWindowStyle.Hidden;
info.UseShellExecute = false;
info.RedirectStandardInput = false;//可能接受来自调用程序的输入信息
info.RedirectStandardOutput = false;//由调用程序获取输出信息
info.RedirectStandardError = false;//重定向标准错误输出
info.CreateNoWindow = false;//不显示程序窗口
Process AppProcess = System.Diagnostics.Process.Start(info);
AppProcess.WaitForExit();
}
2、运行控制台程序,可以看到已经将程序目录下的test.mp4视频以RTSP形式推送至EasyDarwin,我们看下流媒体服务器EasyDarwin的运行情况:
可以用VLC查看实际播放效果,如下图:
如果有用户想了解我们的开源项目,可以进入EasyDarwin了解,并且经过多年的经验积累,我们已经研发出了基于EasyDarwin衍生的EasyNVR、EasyDSS等视频平台,大家均可了解。如有疑问,欢迎咨询。
版权声明
本文为[osc_b71hj3or]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4324660/blog/4710489
边栏推荐
- C++ STL容器篇
- [论文阅读笔记] Network Embedding with Attribute Refinement
- 分布式文档存储数据库之MongoDB索引管理
- [python学习手册-笔记]001.python前言
- day85:luffy:购物车根据有效期不同切换价格&购物车删除操作&价格结算&订单页面前戏
- Use call, apply and bind to solve the annoying this in JS, this in event binding and parameter passing
- Simple use of JMeter
- csdn bug10:待加
- Coding style: SSM environment in MVC mode, code hierarchical management
- Collection of blockchain theory [31]
猜你喜欢
Factory approach model
JMeter的简单使用
CSDN bug4: to be added
csdn bug4:待加
Mongodb index management of distributed document storage database
gnu汇编语言使用内联汇编 扩展asm
OSChina 周二乱弹 —— 我养的绿植分别为土豆,生姜,蒜
Solution of MAC terminal iterm2 supporting RZ and sz
利用尾巴作为时间序列进行处理来识别鲸鱼
What's the difference between delete, truncate, and drop, and what to do if you delete data by mistake
随机推荐
异常:Invalid or unexpected token
ASP.NET Core框架揭秘[博文汇总-持续更新]
The solution of polar experience insensitive verification
一幅图像能顶16x16字!——用于大规模图像缩放识别的变压器(对ICLR 2021年论文的简要回顾)
Enter C abstract to understand the similarities and differences between abstract classes and interfaces
初级工程师如何在职场生存
Oschina: my green plants are potatoes, ginger and garlic
假如需要一百万个对象
leetcode之最后一个单词的长度
Graph undirected graph
CSDN bug3: to be added
csdn bug1:待加
编码风格:Mvc模式下SSM环境,代码分层管理
CSDN bug6: to be added
Only options request is sent, no post solution is sent
推动中国制造升级,汽车装配车间生产流水线 3D 可视化
Factory approach model
[leetcode] 92 integer inversion
OSChina 周二乱弹 —— 我养的绿植分别为土豆,生姜,蒜
csdn bug9:待加