问题标签 [audio-video-sync]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
884 浏览

c++ - 使用采样器过滤器的音频/视频同步问题

我正在使用 DirectShow 播放电影。我修改视频/音频数据并在我的应用程序中自己渲染所有内容。因此,我使用的是 SampleGrabber 过滤器和 NULL 渲染器。

当我倒带电影(使用 IMediaSeeking 界面)时出现问题 - 音频明显滞后于视频(滞后几秒钟)。

带有样本采集器过滤器的电影图

我了解音视频同步基础知识和时间戳。我确实了解渲染过滤器可能会根据呈现时间丢帧。

但我猜 SampleGrabber 过滤器只是接收所有数据?是否可以在我的 SampleCB 回调中获取已经同步的音频/视频数据?

0 投票
0 回答
84 浏览

ios - Xcode5 iOS7 音频和图像不同步

我正在开发一个 iPad 应用程序,但我遇到了动画问题。我使用 IBAction 同时启动动画和音频,它们使用 iPad2 同步,但是当我在 iPad 3 和模拟器上运行应用程序时,64 位音频和图像不同步,因为图像有延迟。

这是我的代码:

哪个是问题?

谢谢您的帮助

0 投票
2 回答
1501 浏览

ios - 如何在ios中将音频与视频混合?

我试图将一个音频文件与视频文件混合,但出现错误。“导出失败:操作无法完成

如果有错误,请更正此代码。

我的代码:

提前致谢

0 投票
1 回答
3904 浏览

linux - 在 Linux 上加入 AVCHD .mts 文件

我有一台 Lumix 相机,与大多数新相机一样,它以 AVCHD 格式录制视频。由于存储卡上使用的文件系统的限制,文件被分成 2 或 4 GiB 段。

当我将文件传输到我的 linux 计算机上进行编辑时,我自然希望将每个视频都放在一个文件中,这对于 linux 的文件系统来说完全没有问题。那么,我怎样才能无损地加入这些片段,保持 a/v-sync 呢?

(使用 Avidemux 2.6.8 我可以附加这些片段,但它会导致在切割点出现严重的失真。)

0 投票
0 回答
1008 浏览

python - 通过 Python 合并音频/视频中的延迟问题

我正在 RaspberryPi 上用 python 编写一个程序,在 Picam 上录制视频并通过连接 USB AUDIO DEVICE 的麦克风捕获音频。

在通过 ffmpeg 合并两个文件时,直到 30 秒音频/视频都可以很好地同步,但在 30 秒后,我开始遇到延迟问题。

你能指导我解决这个问题吗?

0 投票
1 回答
1151 浏览

max - MAX MSP // 如何使用传入的音频信号控制可视化?

有人使用MAX MSP可以帮助我吗?

如何使用传入的音频信号控制视频信号。当音乐发生变化时,我想在 2 个摄像头之间切换视频输入信号。我如何读取频率或 bpm 并通过更改发送信号来切换相机或可视化?有人有想法吗?我很乐意阅读一些想法。谢谢

0 投票
1 回答
646 浏览

timestamp - ALSA 中的演示时间

我正在通过网络从机器接收 IEEE 1722 标准以太网数据包。这些数据包包含一个“时间戳”字段,接收器可以使用该字段来决定何时使用 ALSA 子系统播放音频数据。我想知道我是否可以使用哪个 API 或参数(在 ALSA 中)来满足这个要求。我正在使用 Fedora。

0 投票
1 回答
3570 浏览

ios - iOS AVFoundation 音频/视频不同步

问题:

在每次播放期间,音频都在视频后面 1-2 秒之间。


设置:

资产使用来自媒体流的 AVURLAssets 加载。

为了编写作品,我使用了具有不对称时间尺度的 AVMutableCompositions 和 AVMutableCompositionTracks。音频和视频都流式传输到设备。音频的时间刻度是 44100;视频的时间刻度是 600。

播放是用 AVPlayer 完成的。


尝试的解决方案:

  • 用于. videoAssetTrack.timeRange_[composition insertTimeRange]
  • 使用CMTimeRangeMake(kCMTimeZero, videoAssetTrack.duration);
  • 使用CMTimeRangeMake(kCMTimeZero, videoAssetTrack.timeRange.duration);

编码:


注释:

我不太了解 AVFoundation 框架。我完全有可能只是滥用了我提供的片段。(即为什么“insertTimeRange”用于组合?)

我可以提供解析所需的任何其他信息——包括调试资产跟踪属性值、网络遥测、流信息等。

0 投票
1 回答
340 浏览

javascript - RecordRTC 问题 - 流仅显示时间戳?

我对整个 WebRTC 事情还很陌生,而且我一直在阅读大量文章以及有关如何处理视频录制的不同 API。似乎我读得越多,整个事情就越混乱。我知道我可以使用 Nimbb 之类的解决方案,但可以这么说,我宁愿将所有东西都保留在“内部”。我现在获得代码的方式,页面加载和用户单击按钮来确定输入类型(文本或视频)。单击视频按钮时,网络摄像头会初始化并打开以进行录制。但是,来自网络摄像头的流不会显示在页面本身中。这似乎是因为视频的 src 实际上是一个对象。奇怪的是,当我尝试通过登录到控制台来获取有关对象的更多信息时,我只得到一个名为 currentTime 的对象属性。该对象如何为视频元素创建实际来源?我已经尝试了下面代码的许多不同变体,但都无济于事,所以我只是想知道我做错了什么。

0 投票
0 回答
944 浏览

gstreamer - 当我在 gstreamer 中进行音频和视频同步时,会有很大的延迟

当我使用这样的管道时,我使用 gstreamer 解码 H264:

只会有大约 200 毫秒的延迟。

当我设置时sync=true,像这样:

dalay 将达到 1200 毫秒

我对此一无所知。