zoukankan      html  css  js  c++  java
  • 视频音频同步原理??

    比较好奇里面的原理,google了一些东东。。。

    http://bbs.chinavideo.org/viewthread.php?tid=1183&extra=page%3D1
    音视频同步原理,方法--探讨

    音视频同步这一块,我一直不是很了解,很想尝试一下,下面是在qq群上向诸位前人请教的会话记录,因为对我这样的初学者很有帮助,所以粘贴至此,以作备份,再次感谢热心回答问题的人,尤其是(不做好人!)^_^;

    2006-10-25 10:21:06  dophin
    有人有实时编码时对音视频进行录制时,音视频如何同步的相关资料么?有相关网站也可以哈,我实在找不到相关资料了。。。
    2006-10-25 10:25:42  dophin
    或者具体一点的也行,比如音视频到底是如何同步的,有书籍介绍也可以啊,先谢了哈。。。。
    (人众人)  2006-10-25 10:21:45
    通过时间戳
    (人众人)  2006-10-25 10:21:49
    我也在研究这个问题
    ( 新左派)  2006-10-25 10:21:56
    以音频时间为主
    (人众人)  2006-10-25 10:22:01

    (不做好人!)  2006-10-25 10:22:08
    新左派讲对了。
    (不做好人!)  2006-10-25 10:22:14
    声音图象交错发送。
    ( 新左派)  2006-10-25 10:22:43
    视频解码时,按当前播放时间找到对应的视频帧
    (不做好人!)  2006-10-25 10:22:44
    可以一个音频包有N个图象。就在这一个音频包完成的过程中按帧率显示图象。
    (dophin)  2006-10-25 10:28:39
    嗯,那么音频又是以什么为主呢?毕竟,音频的播放也是和时间有关系的,音频在播放时就是只管自己播放就行么?
    (不做好人!)  2006-10-25 10:24:05
    声卡有时间同步处理机制的。
    (不做好人!)  2006-10-25 10:24:32
    我以前的电脑主板如果驱动没有装好。声音就非常快。结果图象也是一闪就过去了。
    ( 新左派)  2006-10-25 10:24:47
    声音正常解码与播放啊
    (不做好人!)  2006-10-25 10:25:05
    是WINDOWS MEDIAPLAYER播放的。只有驱动装好了。能正确驱动的时候声卡有时钟同步功能的。
    ( 新左派)  2006-10-25 10:25:14
    只是视频的解码需要参照当前的声音的时间
    (不做好人!)  2006-10-25 10:25:16
    所以声音和图象交错,
    ( 新左派)  2006-10-25 10:25:36
    声音播放时,是不用管什么的,就是单独的声音解码
    (dophin)  2006-10-25 10:32:16
    哦,我现在大脑中大致有点模型了,就是音频只管自己播放就行,视频根据自己本身带的时间戳与但前系统时间和音频时间进行比较,然后解码播放,如此实现同步,这么理解对么?
    (不做好人!)  2006-10-25 10:28:00
    你是用什么系统?
    (dophin)  2006-10-25 10:33:26
    声音和图像交错是什么意思?这两个不是开两个线程完成的么?不存在交错问题啊,即使存在,也是操作系统级的吧 ?
    (不做好人!)  2006-10-25 10:28:35
    AVVVVVVVVVVVVVVVAVVVVVVVVVVVVVVV
    (dophin)  2006-10-25 10:33:42
    我得,linux。。。
    (不做好人!)  2006-10-25 10:28:52
    当你放A的时候,直接交给声卡。
    (不做好人!)  2006-10-25 10:29:30
    中间的V就是前后两个声音包的相差时间,你就算出平均速度
    (dophin)  2006-10-25 10:35:35
    算出 平均速度后,得出每sec放几帧,然后播放v,是这样么?
    (不做好人!)  2006-10-25 10:30:54

    (不做好人!)  2006-10-25 10:31:01
    你声音有一个采样率吧。
    (dophin)  2006-10-25 10:36:02
    对,有,
    (不做好人!)  2006-10-25 10:31:23
    这就可以算出前后一个声音的时间了对不?
    (不做好人!)  2006-10-25 10:31:36
    比如44.1K/S
    (dophin)  2006-10-25 10:36:36
    对,
    (不做好人!)  2006-10-25 10:31:56
    那你从DSP中读取22.05K的数据是不是0.5?
    (dophin)  2006-10-25 10:37:05
    是,
    (不做好人!)  2006-10-25 10:32:29
    那在这段0.5秒钟的时间内你获取了15帧的数据。那你是不是0.5/15=0.03333秒钟就刷新一副图。
    (dophin)  2006-10-25 10:37:49
    没错。
    (不做好人!)  2006-10-25 10:32:55
    然后你再读取下一个声音和图象包。再这样搞。就可以了啦。不过前提条件你采集必须是同步的。
    (不做好人!)  2006-10-25 10:33:11
    对了。你是用嵌入式的吗?
    (不做好人!)  2006-10-25 10:33:25
    这个是以声音为基础的。
    (不做好人!)  2006-10-25 10:34:04
    还有一种是设置时钟,计算你的帧率来设置前后帧的时间,中间有误差就延时或者是跳跃一下。声音就另外单独管理。
    (不做好人!)  2006-10-25 10:34:21
    看看ffmpeg 的fplay.c,里面的源程序讲得很详细了。
    (dophin)  2006-10-25 10:40:12
    我的不是embedded
    (dophin)  2006-10-25 10:40:24
    就是普通pc机,
    (不做好人!)  2006-10-25 10:36:08
    哦。那你看fplay.c吧。里面很详细的有声音和图象的同步。虽然简单了一点。但麻雀虽小五脏俱全。
    (dophin)  2006-10-25 10:41:54
    哦,太好了,采集这一块,我基本明白了,播放我想也应该差不多,我自己试试看看,太感谢了你了哈。。。^_^
    (不做好人!)  2006-10-25 10:37:14
    别谢谢我。
    (不做好人!)  2006-10-25 10:37:24
    不过我做的方法是按照fplay.c里面的做的。
    (dophin)  2006-10-25 10:42:23
    好的,我马上就看看fplay。c,以前没有看是因为感觉他的播放效果不如mplayer,
    (不做好人!)  2006-10-25 10:38:06
    这个是简化了的啦。当然比不上mplayer


    http://wz.csdn.net/item/924767/
    这里面收藏了directShow的东东
  • 相关阅读:
    在C#代码中应用Log4Net(二)典型的使用方式
    在C#代码中应用Log4Net(一)简单使用Log4Net
    Windows Azure Active Directory (2) Windows Azure AD基础
    Windows Azure Virtual Network (6) 设置Azure Virtual Machine固定公网IP (Virtual IP Address, VIP) (1)
    Windows Azure Active Directory (1) 前言
    Azure China (6) SAP 应用在华登陆 Windows Azure 公有云
    Microsoft Azure News(3) Azure新的基本实例上线 (Basic Virtual Machine)
    Microsoft Azure News(2) 在Microsoft Azure上运行SAP应用程序
    Microsoft Azure News(1) 新的数据中心Japan East, Japan West and Brazil South
    Windows Azure HandBook (2) Azure China提供的服务
  • 原文地址:https://www.cnblogs.com/goodloop/p/978382.html
Copyright © 2011-2022 走看看