1. 安装依赖的包

sudo apt-get install -y ffmpeg oss-compat alsa-oss

2. 录制桌面视频并录音

aoss ffmpeg -f oss -i /dev/dsp -f x11grab -s wxga -r  -i :0.0 -sameq /tmp/out.mpg

3. 使用脚本在后台进行录像

#!/bin/bash -
#===============================================================================
#
# FILE: recordscreen.sh
#
# USAGE: ./recordscreen.sh
#
# DESCRIPTION:
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: linkscue (scue), linkscue@gmail.com
# ORGANIZATION:
# CREATED: 2013年08月17日 18时28分01秒 HKT
# REVISION: ---
#=============================================================================== #-------------------------------------------------------------------------------
# 使用举例:
#
# . 录制无声桌面视频
# ./recordscreen.sh
# 结束无声桌面视频录制
# ./recordscreen.sh off
#
# . 录制有声桌面视频
# ./recordsrceen.sh a
# 结束有声桌面视频录制
# ./recordscreen.sh a off
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# 结束视频录像函数
#------------------------------------------------------------------------------- kill_process(){
kill $(pidof ffmpeg)
} #-------------------------------------------------------------------------------
# -f oos -i /dev/dsp # 录音
# -f x11grab # 输入类型为x11grab
# -s wxga # 大小是wxga(1366x768)
# -r # 帧频是25(25张图片/秒)
# -i :0.0 # 设置输入源,本地X默认在0.
# -sameq # 与输入流一样的质量
# -vcodec msmpeg4v2 # 压缩输出的avi视频格式
#------------------------------------------------------------------------------- #默认录像不带声音,当有传参为a时录音
if [[ "$1" == "a" ]]; then
shift # 输入参数向左移 $ --> $
cmd="ffmpeg -f oss -i /dev/dsp -f x11grab -s wxga -r 25 -i :0.0 -sameq -vcodec msmpeg4v2"
acmd="aoss $cmd"
if [[ "$1" != "" ]]; then
kill_process
else
# 使用 nohup 使此命令忽略终端的退出(终端终止此命令依然运行)
nohup $acmd /tmp/out_$(date +%F_%X).avi >/dev/null >& &
fi
else
cmd="ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq -vcodec msmpeg4v2"
if [[ "$1" != "" ]]; then
kill_process
else
# 使用 nohup 使此命令忽略终端的退出(终端终止此命令依然运行)
nohup $cmd /tmp/out_$(date +%F_%X).avi >/dev/null >& &
fi
fi

〖Linux〗录像桌面视频同时录音的更多相关文章

  1. linux 远程桌面连接

    我们知道在windows下面我们可以用远程桌面连接来控制其它电脑, 但linux 远程桌面连接?不过在说怎样连接之前还是要先明确一个概念,为什么我标题没有用linux中的远程桌面连接呢, 这是因为Li ...

  2. Red Hat Enterprise Linux 6 “桌面”、“工作站”、“服务器” 版本差异比较

    Red Hat Enterprise Linux 6,共有三个版本.通过安装发现,所谓的"桌面"."工作站"."服务器"这三个版本的区别就在 ...

  3. CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面并安装火狐浏览器

    CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面并安装火狐浏览器 vnc客户端地址:https://files.cnblogs.com/files/MYSQLZOUQI/vnc- ...

  4. 嵌入式Linux下MP4视频录制库MP4V2移植和简单介绍

    **************************************************************************************************** ...

  5. 嵌入式Linux的web视频服务器的构建

    http://blog.sina.com.cn/s/blog_53d02d550102v8bu.html随着嵌入式处理器和开源Linux 的广泛应用,各种视频服务在嵌入式系统中逐渐发展起来. 1.引言 ...

  6. window用Xmanager4.0的Xstart连接linux远程桌面

    安装包: xorg-x11-xauth xterm.x86_64 0:253-1.el6 Execute command path:/usr/bin/xterm Xstart连接Linux远程桌面有一 ...

  7. Linux远程桌面(三)

    上一篇中的vnc配置已经很方便了,这一篇介绍更为简单的xmanager的配置,xmanager画面好一丢丢. Xmanager服务器配置             Linux远程桌面(二):vnc之xi ...

  8. Linux远程桌面(二)

    上一篇远程桌面采用的独立服务配置不适用于过多用户,这一篇采用超级Internet服务器搭建vnc服务可以解决多用户问题.  vnc之xinetd服务搭建配置 Linux远程桌面(一):vnc之独立服务 ...

  9. 远程访问Linux系统桌面

     让Windows可以远程访问Linux系统桌面 http://jingyan.baidu.com/article/d8072ac47b810eec95cefde8.html linux系统下,11款 ...

随机推荐

  1. [Node.js]NET模块

    摘要 net模块提供了一些用于底层的网络通信的小工具,包含了创建服务器和客户端的方法.可以使用该模块模拟请求等操作. net模块 引入net模块 var net=require("net&q ...

  2. 使用Bootstrap 3开发响应式网站实践04,使用Panels展示内容

    在Bootstrap页面中,通常用Panels来展示主要功能的内容.该部分Html为: <div class="row" id="featureHeading&qu ...

  3. jsp下Kindeditor环境搭建

    1.环境:tomcat 2.需要外部jar包: commons-fileupload-1.2.1.jar commons-io-1.4.jar json_simple-1.1.jar 3.下载Kind ...

  4. TOMCAT6热部署配置

    在J2EE开发过程中,经常需要在启动tomcat后修改java类文件,tomcat默认会自动加载修改的类,但这只是重新启动整个项目换句话说就是自动帮我们重启tomcat,这样就浪费了大量的时间在等等t ...

  5. TFS WorkItem Permission Setting

    TFS非常强大,但是权限设置确实非常的恶心复杂,这貌似是一切NB又傲慢的软件的通病. 那么,在哪里设置 WorkItem 的权限呢? 第一步: 第二步: 第三步,下面你将一目了然. 第四步,Share ...

  6. Guava Files 源码分析(二)

    createTempDir()之后就没有什么有意思的函数了,基本上都是对Java IO函数操作的聚合,只看一个simplifyPath() /** * Returns the lexically cl ...

  7. UVA 10194 (13.08.05)

    :W Problem A: Football (aka Soccer)  The Problem Football the most popular sport in the world (ameri ...

  8. Maximal Rectangle leetcode java

    题目: Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones ...

  9. ADB用法

    作为android开发人员,adb是常用的工具之一.具体怎么使用了. 1. 安装完ADB后(ADB的安装请参考<Android开发平台搭建及配置.doc>),用电脑USB连接机器,然后使用 ...

  10. Spark RDD关联操作小结

    前言 Spark的rdd之间的关系需要通过一些特定的操作来实现, 操作比较多也,特别是一堆JOIN也挺容易让人产生混乱的. 因此做了下小结梳理一下. 准备数据 var rdd1 = sc.makeRD ...