1

我在Red5 v1.0.2中录制的视频有问题(我以前的 v1 有问题,它没有录制任何视频,1.0.2 可以工作)。当我录制flv时,我想其转换为一些mp4。但是我的设置有问题,因为每次质量/音频同步都有问题。你能帮我如何使用ffmpeg进行转换(将来在服务器上自动处理)。

第二个问题是,在闪存客户端缓冲区长度始终为0,但在v0.8中它已被填充,最后我一直等到空,这里我不确定我应该等待多长时间。我创建了这个网址http://code.google.com/p/red5/issues/detail?id=312他们说要等到我得到UnPublish.Success,但是我在 ns.close() 之后才得到那个事件

我的 Flash 客户端记录设置是 (FP10):

视频:

  • 分辨率 = 640x360
  • 帧数 = 30
  • 关键帧间隔 = 15
  • 视频质量 = 90
  • 带宽 = 0

声音的:

  • 麦克风编解码器 = SPEEX
  • 编码质量 = 9
  • 静音级别 = 0

  • 缓冲时间 = 15

在 VLC 中录制的视频参数(从捷克语翻译成英语):

视频

  • 编解码器:Flash 视频 (FLV1)
  • 分辨率:640x360
  • 格式:平面 4:2:0 YUV

声音的

  • 编解码器:Speex 音频 (spx)
  • 频率:16000Hz
  • 每个样本的位数:16
  • 数据流:16 kb/s

关于视频的FFMEPG信息:

 Metadata:
   server          : Red5 Server 1.0.2 Rev: 4616
   creationdate    : Mon Sep 02 23:17:08 CEST 2013
   canSeekToEnd    : true
 Duration: 00:00:33.24, start: 0.000000, bitrate: 645 kb/s
   Stream #0:0: Video: flv1, yuv420p, 640x360, 625 kb/s, 1k tbr, 1k tbn, 1k tbc

   Stream #0:1: Audio: speex, 16000 Hz, mono, s16, 16 kb/s

bsplayer 显示 25fps - 但我录制了 30fps,我不太了解这一点。

我对 ffmpeg 的尝试(我是 ffmpeg 新手)。

首先我录制了 33 秒长的视频

当我用 command: 转换音频时ffmpeg -i test.flv -ar 44100 -ab 160k -ac 1 output.mp3,音频只有 30 秒

我试过这个命令,但没有一个很好的解决方案

ffmpeg -i test.flv -vcodec mpeg4 -acodec libvo_aacenc output.mp4

ffmpeg -i test.flv -acodec libvo_aacenc -aq 200 outputsss.mp4

ffmpeg -i test.flv -c:v libvpx -c:a libvorbis output.webm // here is sound synced good - but sound have repeating silence lags (every 1-2s)

真的很感谢你的帮助,我很多天都在与转换作斗争:(

4

1 回答 1

0

我们也遇到了这些音频延迟问题(我们仍处于 0.8,因为 1.0 损坏了录制的 FLV 文件 - 将使用 1.0.3 重试)。

我们的解决方案是使用命令行“ MediaInfo ”工具来提取音频延迟。MediaInfo 可以返回 XML 输出(一定要检查版本字符串,因为这个输出往往会随版本而变化),我们解析了类似的东西/Mediainfo/File/track[@type="Audio"],正确的条目被命名(在我们的例子中)Video_Delay_String3

然后将其输入到 ffmpeg 转码命令中-itsoffset -00:00:00.XX

于 2014-08-14T15:06:19.727 回答