代码之家  ›  专栏  ›  技术社区  ›  Spidfire

制作一个“巴别塔”,你可以在那里为派对说话。

  •  1
  • Spidfire  · 技术社区  · 15 年前

    我有一个聚会项目要做,在荷兰叫做“巴贝尔博克斯”。

    它是一台带有摄像头和麦克风的电脑,可以用来制作一种视频记录,记录每个想对派对说些什么的人。

    但问题是我不知道从哪里开始。我用C语言制作了一种视频显示系统,但是我不能将任何数据保存到一个好的格式,这样一个小时内它就不会阻塞我的硬盘。

    要求:

    • 录制视频+音频

    • 重新编码必须在按下按钮后开始。

    • 良好的压缩比 视频(如果是 可由Final Cut Pro读取或 高级专业版)

    • 轻量级的节目很不错 但我可以把电脑放大 权力

    2 回复  |  直到 15 年前
        1
  •  3
  •   kberg    15 年前

    我们做了一个从汤到坚果的。其中包括软件、硬件、一个完整的展台、触摸屏,甚至还将其作为纪念我们老板的祭祀忏悔会的主题。见 http://www.cultoftom.com 关于血淋淋的细节。

        2
  •  3
  •   Jeremiah Rose    15 年前

    使用gstreamer的Linux解决方案:

    在Ubuntu中安装 gstreamer-tools 包裹

    然后您可以使用类似以下命令进行录制:

    gst-launch v4l2src ! 'video/x-raw-yuv,width=640,height=480,framerate=30/1' ! tee name=t_vid ! queue ! videoflip method=horizontal-flip ! xvimagesink sync=false t_vid. ! queue ! ffmpegcolorspace ! theoraenc ! queue ! mux. autoaudiosrc ! queue ! audioconvert ! vorbisenc ! queue ! mux. oggmux name=mux ! filesink location=filename.ogv
    

    您可以根据需要调整分辨率、帧速率、文件名等。

    从那里开始,用python编写它并构建一个简单的gtk GUI来启动/停止是相当困难的。您可以使用多文件接收器来处理连续录制的文件名。

    参考文献:

    http://noraisin.net/~jan/diary/?p=40

    http://www.twm-kd.com/computers/software/webcam-and-linux-gstreamer-tutorial/

    http://pygstdocs.berlios.de/pygst-tutorial/index.html