首页 > 其他分享 >关于处理视频断流的一些思考

关于处理视频断流的一些思考

时间:2024-03-16 16:00:14浏览次数:13  
标签:pre 视频 wire 断流 sys vs 思考 reg Nege

虽然大部分摄像头都不支持热拔插,但我觉得思考一下相关问题还是有意义的。

先说结论:处理断流的根本在于同步信号。

正所谓,输入端通常会有同步头、同步行之类的时间串口,通过对这个期间的信号做处理以后使用其上升沿作为标志,用来重置存储地址和FIFO是处理输入同步的有效方法。

代码:

 1     //W Sync Port
 2     //wrclk
 3     reg                               r1_pre_vs        ;
 4     wire                              Pose_pre_vs      ;
 5     wire                              Nege_pre_vs      ;
 6     wire                              Ext_Pose_pre_vs  ;
 7     //sysclk
 8     reg                               sys_pre_vs       ;
 9     reg                               r1_sys_pre_vs    ;
10     reg                               sys_Pose_pre_vs  ;
11     reg                               sys_Nege_pre_vs  ;
12     reg                               r_sys_Nege_pre_vs;
13     reg  [1:0]                        wr_index         ;
14     reg   [C_M_AXI_ADDR_WIDTH-1 : 0]  wr_base_addr     ;
15     
16     always @(posedge I_Pre_clk) begin
17         r1_pre_vs <= I_Pre_vs;
18     end
19 
20     assign  Pose_pre_vs = (I_Pre_vs == 1'b1)&&(r1_pre_vs == 1'b0);
21     assign  Nege_pre_vs = (I_Pre_vs == 1'b0)&&(r1_pre_vs == 1'b1);
22 
23     always@(posedge M_AXI_ACLK) begin
24         sys_pre_vs        <= I_Pre_vs  ;
25         r1_sys_pre_vs     <= sys_pre_vs;
26         r_sys_Nege_pre_vs <= sys_Nege_pre_vs;
27     end
28 
29     always @(posedge M_AXI_ACLK) begin
30         if(M_AXI_ARESETN == 1'b0) begin
31             sys_Pose_pre_vs <= 1'b0;
32             sys_Nege_pre_vs <= 1'b0;
33         end else if(sys_pre_vs==1'b1&&r1_sys_pre_vs==1'b0) begin
34             sys_Pose_pre_vs <= 1'b1;
35             sys_Nege_pre_vs <= 1'b0; 
36         end else if(sys_pre_vs==1'b0&&r1_sys_pre_vs==1'b1) begin
37             sys_Pose_pre_vs <= 1'b0;
38             sys_Nege_pre_vs <= 1'b1; 
39         end else begin
40             sys_Pose_pre_vs <= 1'b0;
41             sys_Nege_pre_vs <= 1'b0;
42         end
43     end
44 
45 
46     Data_sync_ext Data_sync_ext_Inst0(
47         .clka           ( I_Pre_clk          ),
48         .rst_n          ( M_AXI_ARESETN      ),    
49         .pulse_a        ( Pose_pre_vs        ),
50         .ext_pulse_a    ( Ext_Pose_pre_vs    )
51     );
52 
53     always@(posedge M_AXI_ACLK)
54         if(M_AXI_ARESETN == 1'b0) begin
55             wr_index <= 'd1;
56         end else if(sys_Nege_pre_vs == 1'b1&&wr_index == AXI_Buff_NUM) begin
57             wr_index <= 'd1;
58         end else if(sys_Nege_pre_vs==1'b1) begin
59             wr_index <= wr_index + 1'b1;
60         end else begin
61             wr_index <= wr_index;
62         end
63 
64         assign  O_wr_index = wr_index;
65             
66     always@(posedge M_AXI_ACLK)
67         if(M_AXI_ARESETN == 1'b0) begin
68             wr_base_addr <= 0;
69         end    else if(sys_Nege_pre_vs == 1'b1&&wr_index == AXI_Buff_NUM) begin
70             wr_base_addr <= 0;
71         end else if(sys_Nege_pre_vs == 1'b1) begin
72             wr_base_addr <= wr_base_addr + Total_Frame_Offset;
73         end else begin
74             wr_base_addr <= wr_base_addr;
75         end
View Code

而处理输出就比较简单了,因为是你自己定义的,自己生成或使用现有的VGA或其他接口的同步帧即可。

标签:pre,视频,wire,断流,sys,vs,思考,reg,Nege
From: https://www.cnblogs.com/VerweileDoch/p/18077164

相关文章

  • 【火灾检测】基于matlab GUI视频图像多特征火灾检测报警系统【含Matlab源码 4092期】
    ✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。......
  • 视频直播系统源码,异步处理实现代码分析
    视频直播系统源码,异步处理实现代码分析@OverrideprotectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{System.out.println("doget");method3(request,response);}/***使用asyncConte......
  • FFmpeg命令视频音频转码参数详解
    前言全局说明FFmpeg命令转码参数详解一、参数1.1FFmpeg常用参数参数说明备注-ifilename指定输入文件(或直接写文件名,用|竖线分割),在Linux下当然也能指定:0.0(屏幕录制)或摄像头。-c:v指定视频编码器copy、libx265-crf指定视频质量,范围为0-51,0为无损,23......
  • 检查视频完整性脚本
    !/bin/shinotifywait-rmq/disk1/ftpMY_SAVEIFS=$IFSIFS=$'\n'path=/disk1/$1/files=$(ls$path)forfilein$filesdoret=ffprobe-verror-show_entriesformat=duration-ofdefault=noprint_wrappers=1:nokey=1-i$path$fileif[["$file&qu......
  • ffmpeg多路视频合并
    2,3,4路视频拼接可以参考下面:https://blog.csdn.net/tianshan2010/article/details/104737576https://blog.csdn.net/Gary__123456/article/details/887427054路拼接【上下左右】:ffmpeg-i1.mp4-i2.mp4-i3.mp4-i4.mp4-filter_complex"[0:v]pad=iw2:ih2[a];[a][1:v]ove......
  • java毕业设计-基于springboot开发的会员制医疗预约服务管理信息系统-毕业论文+答辩PPT
    文章目录前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1、开发说明2、需求分析3、系统功能结构三、系统实现展示1、系统功能模块2、管理员功能模块3、医生功能模块3、会员功能模块四、毕设内容和源代码获取总结java毕业设计-基于springboot开发的会员制医疗预......
  • Java毕业设计-基于springboot开发的4S店车辆管理系统-毕业论文+答辩PPT(附源代码+演示
    文章目录前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1.开发说明2.需求分析3、系统功能结构三、系统实现展示1、系统登录2、管理员功能模块3、销售员功能模块4、维修员功能模块四、毕设内容和源代码获取总结Java毕业设计-基于springboot开发的4S店车辆管理系......
  • 新版一键AI视频图片换脸神器来了!目前最强的AI视频换脸工具Swapface!
    大家好,我是程序员晓晓之前发过一款AI换脸工具,可惜部署门槛太高,有没有换头换脸的AI工具?今天晓晓就给你们安排到家!SwapfaceAI工具一键开箱包‍它使用先进的人工智能和计算机视觉技术,可以在几秒内为你的视频生成逼真的面部替换效果。无需任何复杂的参数设置,你只需要......
  • MediaBox音视频终端SDK已适配鸿蒙星河版(HarmonyOS NEXT)
    2024年1月,HarmonyOS NEXT 鸿蒙星河版系统开发者预览版开放申请,该系统将只能安装为鸿蒙开发的原生应用,而不再兼容安卓应用。对此,阿里云MediaBox音视频终端SDK产品已实现功能的鸿蒙化迁移和重构,全面适配鸿蒙系统HarmonyOS NEXT系统。 当前, 阿里云播放器SDK预览版已面向所有......
  • 适用于 Windows 的 10 个顶级视频文件恢复软件
    如果您正在寻找可帮助您识别和恢复丢失视频的专用实用程序,那么您应该考虑利用本文中列出的适用于WindowsPC的最佳视频恢复软件的帮助。我们在最佳Windows视频恢复应用程序类别中个人推荐信息!什么是视频恢复软件?视频恢复实用程序或视频恢复软件是一种扫描、检测和提取......