【问题标题】:ffmpeg for screen capture?ffmpeg 用于屏幕截图?
【发布时间】:2012-04-28 03:34:15
【问题描述】:

所以我有一个小程序,它可以捕捉屏幕和来自计算机麦克风的声音, 然后截图被编码为 ScreenVideo2,声音被编码为 AAC。

如何使用 ffmpeg 逐帧复用,然后将复用后的输出发送到 wowza 媒体服务器?

如果用 ffmpeg 做不到,请问有什么建议吗?

【问题讨论】:

  • 这个ScreenVideo2?它似乎是服务器端的。您如何从客户端获取屏幕截图和声音到服务器?
  • 不,这个ScreenVideo2:截图是用经典机器人截取的,并用这个编码,音频取自TargetDataLine,然后处理成AAC,然后我使用flazr将它们发送到服务器,但我是按顺序执行的,但它应该被混合成一个。

标签: java audio video applet mux


【解决方案1】:

哪个操作系统? Linux下,你可能要考虑http://kde-apps.org/content/show.php/FDesktopRecorder?content=147844

脚本的核心是这样的:

记录屏幕:

ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s $(xwininfo -root | \
  grep 'geometry' | awk '{print $2;}') -i :0.0 -acodec flac -vcodec libx264 \
  -vpre lossless_ultrafast -threads 0 -y output.mkv

录制一个窗口:

#!/bin/sh INFO=$(xwininfo -frame) WIN_GEO=$(echo $INFO | \
  grep -oEe 'geometry [0-9]+x[0-9]+' | \
  grep -oEe '[0-9]+x[0-9]+')WIN_XY=$(echo $INFO | \
  grep -oEe 'Corners:\s+\+[0-9]+\+[0-9]+' | grep -oEe '[0-9]+\+[0-9]+' | \
  sed -e 's/\+/,/' ) ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 \
  -s $WIN_GEO -i :0.0+$WIN_XY -acodec flac -vcodec libx264 \
  -vpre lossless_ultrafast -threads 0 -y output-single.mkv

【讨论】:

  • 应该是多平台的,我们说的是小程序:s
【解决方案2】:

Xuggler 可以为你做that。我不确定它是否在 Applets 中工作。它能够在后台使用 ffmpeg 对帧进行编码。它目前正在积极开发中,并通过其邮件列表获得了良好的支持。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-11
    • 2019-06-17
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    相关资源
    最近更新 更多