【问题标题】:Flash Media Server: Trouble with recording 2 audio/video streams at the same time?Flash Media Server:无法同时录制 2 个音频/视频流?
【发布时间】:2009-05-20 06:21:45
【问题描述】:

简而言之

对于一个项目,我需要两个人的音频/视频聊天,并且能够录制(部分)会话。我遇到了第二个用户录制的视频混乱的问题,大量(看似)跳帧和/或音频丢失,很可能是由音频流引起的(当不录制音频时,问题不会出现发生)。

概述

对于一个项目,我需要一个设置,两个客户可以视频(+音频,显然 :) 互相聊天。此外,“主持人”应该能够在他按下按钮时录制会话,并以同样的方式停止录制。

虽然这种设置远非火箭科学,但我一直遇到一些我似乎无法弄清楚的问题。客户端连接良好,彼此的视频正常显示,甚至可以很好地听到彼此的声音。我选择在主机开始录制时重新初始化连接,这也可以正常工作。但是,录制的文件有时会遇到问题。

可能的原因

通常主持人的录音很棒,音频和视频都可以正常工作。客户端视频显示有问题,播放时视频会跳动(在许多应用程序中,例如 VLC、KMPlayer、Adobe 自己的媒体播放器等)。我试图调试这种情况,它似乎与音频直接相关,但我不确定这是如何发生的。当我在没有录制音频的情况下进行测试时,两个视频都可以正常播放。

问题

我将尝试解释客户视频中发生的情况;视频播放正常,音频也正常。但是在看似随机的视频位置,播放突然会跳过视频(和音频)的几秒钟,所以一分钟的视频有时只持续几秒钟(即使播放栏和类似的显示视频实际上持续了一分钟) .

我没有找到任何关于它如何跳过的逻辑——有些视频每个只显示 4/5 几秒的间隔,而其他视频则提前 20-30 秒跳跃——所以我假设这是一个随机的事情。

场景

我已经测试了多个场景,并且问题似乎足够一致(例如,它每次都会发生,只是在我不录制音频时不会发生)。我使用了本地(开发人员版)FMS 服务器,托管的 influxis 服务,并且我使用了两台本地计算机,一台本地计算机(使用 2 个网络摄像头)和 1 台本地计算机,1 台(真正的)远程计算机。对于录制的(客户端)视频,所有设置似乎都有相同的问题。

结束

我不确定您需要什么详细信息,所以请向我询问您可能需要的任何信息,以帮助我找到解决方案。我已经搜索和调试了,就像没有明天一样,并且无法弄清楚是什么原因造成的。

很多,很多提前感谢!

-戴夫

【问题讨论】:

  • 嗨,戴夫,您确定问题所在了吗?我们的应用程序使用 FMS 将视频/音频录制到 FLV。我们还注意到,录制的 FLV 似乎会随机跳过,并且在 Mac 上看起来更糟。查看音频数据包元数据,似乎存在一些音频问题,通常是 NellyMoser,然后是这个未压缩的单个数据包,这会导致跳过。这听起来像是一个可以调整的东西,你现在有什么解决方案吗?很想听听您的尝试。
  • 您找到解决方案了吗?
  • @balepc 这已经太久了,我不记得我最终得到了什么(该项目在我真正测试这个东西之前就被取消了),但它似乎与FMS 处理视频的方式。不知何故,它处理的数据太多,这当然是荒谬的,但这就是它的行为方式。我曾经工作过的同一家公司的一个类似项目最终离开了 FMS。我认为他们最终使用了 RED5,一种开源(基于 Java)的 FMS 替代方案; red5.org。让我知道这是否有帮助! -戴夫

标签: apache-flex actionscript-3 flash-media-server


【解决方案1】:

我在 FMS 方面有相当丰富的经验,特别是在 influxis 方面……我还录制了音频和视频,因为我出于安全原因需要它。但是,在所有情况下,视频和音频都是在服务器上录制的,而不是与任一客户端在同一台机器上。

我看到的问题包括对音频和视频质量的大量调整 - 以找到正确的混合以获得最佳结果。这就是我要开始的地方,调整质量,看看你会得到什么。

对于测试环境,我建议使用不同的机器,这样 CPU 就不会成为您的问题 - 因为实际环境中的客户端会在具有更多 CPU 的不同机器上。

与我联系以获取其他信息等 - 我和几个朋友的系统正在运行,我很乐意提供帮助。

查看了我的笔记 - 我们能够与 influxis 谈论滞后的音频 - 他们使用了几个服务器设置,这是我们的每秒帧数和其他质量人员......

【讨论】:

  • 嗨,加布里埃尔!我已经尝试了几种环境来排除可能的“客户端与服务器机器相同”问题。我也怀疑这会导致我不得不找到完美的设置组合,但我在这里几乎一无所知。 Flex Builder 在 main.asc 文件中完全没有关于您可以做什么或不可以做什么的提示或帮助信息也非常令人恼火,因此非常感谢您提供的任何帮助。
【解决方案2】:

我不确定我的问题是否与您的相同,但我们找到了解决方案。

Flash 片段需要设置静音级别 (setSilenceLevel),这样它就不会插入没有音频信号的音频数据包。这些音频数据包会导致录制问题,从而产生随机跳过和音频丢失。

【讨论】:

    【解决方案3】:

    戴夫,你排除了延迟吗?带有两个摄像头的计算机是否连接到高速网络?我还会检查正在录制的机器上的处理器利用率。

    【讨论】:

    • 是的,我想我已经尽可能地排除了它。我使用了本地开发服务器(实际上,在同一台机器上),甚至使用了同一台机器上的两个网络摄像头(为了安全起见,使用不同的网络浏览器)。
    猜你喜欢
    • 1970-01-01
    • 2014-04-12
    • 2020-09-09
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    • 2012-10-06
    相关资源
    最近更新 更多