• C#控制台调用FFMPEG推MP4视频文件至流媒体开源服务平台EasyDarwin过程


    之前写过一篇科普文《如何使用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等视频平台,大家均可了解。如有疑问,欢迎咨询。

  • 相关阅读:
    hadoop
    常用安装
    rdd相关
    spark安装
    psutil
    scala linux终端高亮显示
    【原创】正则表达式(知识点总结)
    检测对象是否有某个属性(原型链检测和对象自身检测)
    JavaScript核心(对象+原型+函数+闭包+this+上下文堆栈+作用域链)
    JavaScript ES6迭代器指南
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/14037429.html
Copyright © 2020-2023  润新知