〖Linux〗录像桌面视频同时录音
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〗录像桌面视频同时录音的更多相关文章
- linux 远程桌面连接
我们知道在windows下面我们可以用远程桌面连接来控制其它电脑, 但linux 远程桌面连接?不过在说怎样连接之前还是要先明确一个概念,为什么我标题没有用linux中的远程桌面连接呢, 这是因为Li ...
- Red Hat Enterprise Linux 6 “桌面”、“工作站”、“服务器” 版本差异比较
Red Hat Enterprise Linux 6,共有三个版本.通过安装发现,所谓的"桌面"."工作站"."服务器"这三个版本的区别就在 ...
- CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面并安装火狐浏览器
CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面并安装火狐浏览器 vnc客户端地址:https://files.cnblogs.com/files/MYSQLZOUQI/vnc- ...
- 嵌入式Linux下MP4视频录制库MP4V2移植和简单介绍
**************************************************************************************************** ...
- 嵌入式Linux的web视频服务器的构建
http://blog.sina.com.cn/s/blog_53d02d550102v8bu.html随着嵌入式处理器和开源Linux 的广泛应用,各种视频服务在嵌入式系统中逐渐发展起来. 1.引言 ...
- window用Xmanager4.0的Xstart连接linux远程桌面
安装包: xorg-x11-xauth xterm.x86_64 0:253-1.el6 Execute command path:/usr/bin/xterm Xstart连接Linux远程桌面有一 ...
- Linux远程桌面(三)
上一篇中的vnc配置已经很方便了,这一篇介绍更为简单的xmanager的配置,xmanager画面好一丢丢. Xmanager服务器配置 Linux远程桌面(二):vnc之xi ...
- Linux远程桌面(二)
上一篇远程桌面采用的独立服务配置不适用于过多用户,这一篇采用超级Internet服务器搭建vnc服务可以解决多用户问题. vnc之xinetd服务搭建配置 Linux远程桌面(一):vnc之独立服务 ...
- 远程访问Linux系统桌面
让Windows可以远程访问Linux系统桌面 http://jingyan.baidu.com/article/d8072ac47b810eec95cefde8.html linux系统下,11款 ...
随机推荐
- 在Hadoop中重写FileInputFormat类以处理二进制格式存储的整数
近期開始使用MapReduce,发现网上大部分样例都是对文本数据进行处理的,也就是说在读取输入数据时直接使用默认的TextInputFormat进行处理就可以.对于文本数据处理,这个类还是能满足一部分 ...
- HEVC 实时编码720P不是梦!
最近很少光顾我的博客, 因为一直很忙! 目前我的HEVC在i5机子上720P编码速度单核达到2~3帧每秒! 多核的话离线实时编码已经不是问题! 现在问题是在线实时编码还差那么一点! 在容忍一定低延迟下 ...
- 在Windows Server 2008 R2中使用web方式修改域用户账户密码
在Windows的domain环境下,加域的客户端修改账户密码是一件很easy的事情:即使没有加域的客户端如果组织中,使用Exchange邮件系统,借助Exchange的owa也可以轻松修改账户密码. ...
- 转 UITextField
//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, ...
- Windows 8 Metro 应用开发入门(一):开发环境介绍
摘 要 Windows8已经发布,随之而来的基于WinRT的Metro应用也正向我们走来,正像它所宣传的:光滑.快.现代.看习惯了玻璃.立体风格的应用,或许Metro的简洁能给你留下不一样的体验.Vi ...
- matlab 文件遍历
function MyGetFiles(F)path=F;filelist=dir(fullfile(path,'*.JPG'));n=length(filelist);for i=1:n f=str ...
- NLP知识结构概述
NLP知识结构概述 1)自然语言处理:利用计算机为工具,对书面实行或者口头形式进行各种各样的处理和加工的技术,是研究人与人交际中以及人与计算机交际中的演员问题的一门学科,是人工智能的主要内容. 2)自 ...
- 简明python教程 --C++程序员的视角(五):面向对象的编程
面向对象的编程 在大多数时候你可以使用过程性编程,但是有些时候当你想要编写大型程序或是寻求一个更加合适的解决方案的时候,你就得使用面向对象的编程技术. 对象可以使用普通的属于对象的变量存储数据.属于一 ...
- C语言:返回两个数组中第一个元素的指针,并输出这个值
// // main.c // Pointer_search // // Created by ma c on 15/8/2. // Copyright (c) 2015年. All righ ...
- 使用自由软件Icarus Verilog Simulator进行仿真
Icarus Verilog Simulator(http://iverilog.icarus.com/home)使用iverilog作为源代码编译器,编译生成vvp程序文本,使用vvp作为运行时引擎 ...