ffmpeg - RED5 1.0.2 录制的 FLV 转换为 Mobile/HTML5 格式,FFMPEG av 不同步

标签 ffmpeg sync mp4 flv red5

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

第二个问题是在 flash 客户端 缓冲区长度 总是 0 , 但在 v0.8 它被填满了,最后我等到空了,在这里我不确定我应该等多久。我创建了这个网址 http://code.google.com/p/red5/issues/detail?id=312他们说要等到我得到取消发布。成功 ,但是我在 ns.close() 之后才得到的那个事件

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

视频:

  • 分辨率 = 640x360
  • fps = 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 秒长的视频

    当我使用命令转换音频时: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)
    

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

    最佳答案

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

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

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

    关于ffmpeg - RED5 1.0.2 录制的 FLV 转换为 Mobile/HTML5 格式,FFMPEG av 不同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18585607/

    相关文章:

    c++ - FFMPEG TS空包传输

    android - 无法在 TextureView Android 中播放视频

    web-services - 用于在 Web 服务和客户端之间同步数据的现代编程标准是什么?

    FFMPEG : Invalid data found when processing input

    python - 找不到真正的 FFmpeg 安装(ffprobe 自带)

    ubuntu - Bitnami GitLab(ubuntu)服务器无法同步时间

    firefox - 如何跨多台机器同步本地托管的 Greasemonkey 脚本?

    video - 如何为 mp4 容器的视频流指定偏移量和查找位置?

    streaming - mp4 视频未在现场播放

    audio - 使用ffmpeg在两个音频文件之间交叉淡入淡出?