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

某公司网站策划建设简约好看的网站

某公司网站策划建设,简约好看的网站,老鹰网网站建设,安徽建设厅考勤网站目录 说明 效果 项目 代码 下载 说明 利用周杰的开源项目 Sdcb.FFmpeg 项目地址#xff1a;https://github.com/sdcb/Sdcb.FFmpeg/ 代码实现参考#xff1a;https://github.com/sdcb/ffmpeg-muxing-video-demo 效果 C#利用ffmpeg借助NVIDIA GPU实现实时RTSP硬解码硬…  目录 说明 效果 项目  代码 下载 说明 利用周杰的开源项目 Sdcb.FFmpeg 项目地址https://github.com/sdcb/Sdcb.FFmpeg/ 代码实现参考https://github.com/sdcb/ffmpeg-muxing-video-demo 效果 C#利用ffmpeg借助NVIDIA GPU实现实时RTSP硬解码硬编码录制MP4 项目  代码 using Sdcb.FFmpeg.Codecs; using Sdcb.FFmpeg.Formats; using Sdcb.FFmpeg.Raw; using Sdcb.FFmpeg.Toolboxs.Extensions; using System; using System.Linq; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; namespace Sdcb.FFmpegDemo {     public partial class Form1 : Form     {         public Form1()         {             InitializeComponent();         } CancellationTokenSource cts; /// summary         /// 播放         /// /summary         /// param namesender/param         /// param namee/param         private void button1_Click(object sender, EventArgs e)         {             button1.Enabled false;             button2.Enabled true;             cts new CancellationTokenSource();             string rtsp_url txtURL.Text;             //输出视频文件的名称。             string outputFile output.mp4;             Task.Run(() Recording(rtsp_url, outputFile, cts.Token));         } void Recording(string url, string outputFile, CancellationToken cancellationToken)         {             //输出视频的帧率,帧率设置为每秒25帧             AVRational frameRate new AVRational(25, 1);                          //输出视频的比特率。             long bitRate 16 * 1024 * 1024; // 16M //从文件夹读取             //该字符串指定了源图像的文件夹和命名模式。%03d部分表示图像以三位数字命名例如001.jpg002.jpg等。             //string sourceFolder .\src\%03d.jpg;             //FormatContext srcFc FormatContext.OpenInputUrl(sourceFolder, options: new MediaDictionary             //{             //    [framerate] frameRate.ToString()             //}); FormatContext srcFc FormatContext.OpenInputUrl(url);             srcFc.LoadStreamInfo();             MediaStream srcVideo srcFc.GetVideoStream();             CodecParameters srcCodecParameters srcVideo.Codecpar; CodecContext videoDecoder new CodecContext(Codec.FindDecoderByName(h264_cuvid));             {             };             videoDecoder.FillParameters(srcCodecParameters);             videoDecoder.Open(); //var d  Codec.FindDecoders(AVCodecID.H264).Select(x x.Name);             //var e Codec.FindEncoders(AVCodecID.H264).Select(x x.Name); FormatContext dstFc FormatContext.AllocOutput(OutputFormat.Guess(mp4)); dstFc.VideoCodec Codec.FindEncoderByName(h264_nvenc);             MediaStream vstream dstFc.NewStream(dstFc.VideoCodec); CodecContext vcodec new CodecContext(dstFc.VideoCodec)             {                 Width srcCodecParameters.Width,                 Height srcCodecParameters.Height,                 TimeBase frameRate.Inverse(),                 PixelFormat AVPixelFormat.Yuv420p,                 Flags AV_CODEC_FLAG.GlobalHeader,                 BitRate bitRate,             };             vcodec.Open(dstFc.VideoCodec);             vstream.Codecpar.CopyFrom(vcodec);             vstream.TimeBase vcodec.TimeBase; IOContext io IOContext.OpenWrite(outputFile);             dstFc.Pb io;             dstFc.WriteHeader(); // src        -- srcFc.ReadPackets()          --             // src Packet -- DecodePackets(videoDecoder)  --             // src Frame  -- ConvertFrames(vcodec)        --             // dst Frame  -- EncodeFrames(vcodec)         --             // dst Packet -- dstFc.InterleavedWritePacket --             // dst foreach (Packet packet in srcFc                 .ReadPackets().Where(x x.StreamIndex srcVideo.Index)                 .DecodePackets(videoDecoder)                 .ConvertFrames(vcodec)                 .EncodeFrames(vcodec)                 )             {                 try                 {                     packet.RescaleTimestamp(vcodec.TimeBase, vstream.TimeBase);                     packet.StreamIndex vstream.Index;                     dstFc.InterleavedWritePacket(packet); if (cancellationToken.IsCancellationRequested) break;                 }                 finally                 {                     packet.Unref();                 }             }             dstFc.WriteTrailer(); io.Dispose();             vcodec.Dispose();             dstFc.Dispose();             videoDecoder.Dispose();             srcFc.Dispose(); } /// summary         /// 停止         /// /summary         /// param namesender/param         /// param namee/param         private void button2_Click(object sender, EventArgs e)         {             button2.Enabled false;             button1.Enabled true;             cts.Cancel();         } private void Form1_Load(object sender, EventArgs e)         {             button2.Enabled false;             button1.Enabled true;             Sdcb.FFmpeg.Utils.FFmpegLogger.LogWriter (level, msg) Console.WriteLine(msg);         }     } }   using Sdcb.FFmpeg.Codecs; using Sdcb.FFmpeg.Formats; using Sdcb.FFmpeg.Raw; using Sdcb.FFmpeg.Toolboxs.Extensions; using System; using System.Linq; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms;namespace Sdcb.FFmpegDemo {public partial class Form1 : Form{public Form1(){InitializeComponent();}CancellationTokenSource cts;/// summary/// 播放/// /summary/// param namesender/param/// param namee/paramprivate void button1_Click(object sender, EventArgs e){button1.Enabled false;button2.Enabled true;cts new CancellationTokenSource();string rtsp_url txtURL.Text;//输出视频文件的名称。string outputFile output.mp4;Task.Run(() Recording(rtsp_url, outputFile, cts.Token));}void Recording(string url, string outputFile, CancellationToken cancellationToken){//输出视频的帧率,帧率设置为每秒25帧AVRational frameRate new AVRational(25, 1);//输出视频的比特率。long bitRate 16 * 1024 * 1024; // 16M//从文件夹读取//该字符串指定了源图像的文件夹和命名模式。%03d部分表示图像以三位数字命名例如001.jpg002.jpg等。//string sourceFolder .\src\%03d.jpg;//FormatContext srcFc FormatContext.OpenInputUrl(sourceFolder, options: new MediaDictionary//{// [framerate] frameRate.ToString()//});FormatContext srcFc FormatContext.OpenInputUrl(url);srcFc.LoadStreamInfo();MediaStream srcVideo srcFc.GetVideoStream();CodecParameters srcCodecParameters srcVideo.Codecpar;CodecContext videoDecoder new CodecContext(Codec.FindDecoderByName(h264_cuvid));{};videoDecoder.FillParameters(srcCodecParameters);videoDecoder.Open();//var d Codec.FindDecoders(AVCodecID.H264).Select(x x.Name);//var e Codec.FindEncoders(AVCodecID.H264).Select(x x.Name);FormatContext dstFc FormatContext.AllocOutput(OutputFormat.Guess(mp4));dstFc.VideoCodec Codec.FindEncoderByName(h264_nvenc);MediaStream vstream dstFc.NewStream(dstFc.VideoCodec);CodecContext vcodec new CodecContext(dstFc.VideoCodec){Width srcCodecParameters.Width,Height srcCodecParameters.Height,TimeBase frameRate.Inverse(),PixelFormat AVPixelFormat.Yuv420p,Flags AV_CODEC_FLAG.GlobalHeader,BitRate bitRate,};vcodec.Open(dstFc.VideoCodec);vstream.Codecpar.CopyFrom(vcodec);vstream.TimeBase vcodec.TimeBase;IOContext io IOContext.OpenWrite(outputFile);dstFc.Pb io;dstFc.WriteHeader();// src -- srcFc.ReadPackets() --// src Packet -- DecodePackets(videoDecoder) --// src Frame -- ConvertFrames(vcodec) --// dst Frame -- EncodeFrames(vcodec) --// dst Packet -- dstFc.InterleavedWritePacket --// dstforeach (Packet packet in srcFc.ReadPackets().Where(x x.StreamIndex srcVideo.Index).DecodePackets(videoDecoder).ConvertFrames(vcodec).EncodeFrames(vcodec)){try{packet.RescaleTimestamp(vcodec.TimeBase, vstream.TimeBase);packet.StreamIndex vstream.Index;dstFc.InterleavedWritePacket(packet);if (cancellationToken.IsCancellationRequested) break;}finally{packet.Unref();}}dstFc.WriteTrailer();io.Dispose();vcodec.Dispose();dstFc.Dispose();videoDecoder.Dispose();srcFc.Dispose();}/// summary/// 停止/// /summary/// param namesender/param/// param namee/paramprivate void button2_Click(object sender, EventArgs e){button2.Enabled false;button1.Enabled true;cts.Cancel();}private void Form1_Load(object sender, EventArgs e){button2.Enabled false;button1.Enabled true;Sdcb.FFmpeg.Utils.FFmpegLogger.LogWriter (level, msg) Console.WriteLine(msg);}}}下载 源码下载
http://www.hkea.cn/news/14515761/

相关文章:

  • 艺术网站制作福州电子商务网站
  • 旅游网站规划建设网站布局优化
  • 做网站买服务器大概多少钱上海门户网站制
  • 公司网站建设计划类似qq空间的网站模板
  • 网站首页添加代码做钓鱼网站盗游戏号会被判刑吗
  • 郑州市建设安全管理协会网站如何建网站教程
  • 深圳防疫措施优化调整盐城网站优化方案
  • 做问卷赚钱的网站百度推广一个关键词多少钱
  • wordpress下载seo超级外链发布
  • python做网站好不好广告营销留电话网站
  • 医院网站建设台账做网站几天
  • 国外的素材网站手机画图设计3d软件
  • 企业做网站需要准备什么资料网站如何做404
  • 网站建设项目怎么写糖尿病吃什么药降糖效果好
  • 免费外链网站seo发布网络营销方法的选择
  • 豪华网站建设方案网页设计专业开设院校
  • 织梦网站视频服务外包公司是干什么的
  • 在线购物网站建设流程互联网行业怎么样
  • 源码网站代理网站建设的学校
  • 做网站的叫什么百度商桥代码安装在哪里wordpress
  • 网站建设 投资预算导购网站模板
  • 嘉华伊美网站建设博创安泰网站建设
  • 泉州市住房和城乡建设局官方网站手机怎么免费建设网站
  • 手机登录网站怎么建设电商摄影
  • 初中生电脑作业做网站开发网站 语言
  • 网站开发人员需要什么技能房地产网站建设的目的
  • 金沙洲网站建设工作室立方集团 网站
  • 做网站asp用什么软件网页设计是哪个专业
  • 微信开放平台创建小程序烟台企业网站怎么优化
  • 专门代做毕设的网站discuz论坛应用中心