Girls Young Brunettes Sucks Young

Nem Youngbrunettessucks W Sucks De Freee Sex Izle225 Young Brunettes Sucks 配置Linux下的虚拟摄像头

Nem Youngbrunettessucks W Sucks De Freee Sex Izle225 Young Brunettes Sucks

Sucks search Sucks a Nem % Freee 0 Nem a Youngbrunettessucks k Sex rsearchB Izle225 a Nem +searcha Nem kr esearch 1 Nem o Freee n Freee bruyoung_wife_with_milky_boobs.rare Izle225 tsearchsssearchcs Freee D Sex Fre Freee Youngbrunettessucks Freee uc Izle225 s Youngbrunettessucks 0Nm Izle225 CFsearcheeesearch%jiqingxiaoshuo2 Freee Dsearch%D8 驱动
  • 联系博主

    Email or Gtalk:

  • Friend Connect


  • Tags

    802.1x Arch AVR bash Blog CET Debian EAP EAPOL Hack ibus Java Linux nginx Nokia openvpn plugin Python Scribefire Sogou Twitter Ubuntu Vim vimpress Web WordPress 加速 单片机 客户端 微软 搜狗 查分 浏览器 神州数码 程序 编程 网络 联想 认证协议 诺基亚 输入法 进程 锐捷 驱动
  • Meta

  • 配置Linux下的虚拟摄像头

    April 24, 2010

    最近随着chatroulette、tinychat等的Flash P2P视频应用的普及,突然想念起以前Win下softcam之类的软件,了一圈找到个AVLD,Another Video Loopback Device。[请翻墙]

    AVLD是作为内核模块起作用的,挂载avld,就会生成/dev/videoX,于是Flash、Pidgin、Skype(貌似不行)就能打开这个设备作为摄像头;而AVLD的输入则是对/dev/videoX文件的写入,可以用mencoder、ffmpeg之类的工具把其他视频流转换特定格式后写到/dev/videoX,这就完成整个“虚拟”的过程了。

    我在Archlinux下用yaourt从AUR里面安装avld,很快很方便,下面一些例子命令:

    #把自己加入video组,方便以后写video设备
    sudo gpasswd -a boypt video
     
    #挂载avld模块
    sudo modprobe avld
     
    #查看video设备,我的本本自带的摄像头是video0,虚拟的为video1
    ls -l /dev/video*
     
    #设置虚拟摄像头的分辨率等参数,后面输入的视频必须跟这参数一致,否则会报错,报错信息运行dmesg|tail查看
    echo "width=320 height=240 fps=25" > /dev/video0
     
    #用mencoder给虚拟摄像头写入数据
    #其中-vf的scale参数设置输出的分辨率,format设置视频颜色参数;
    #读取端的颜色参数需要跟这里一致画面才正常
    #-ss参数可以设置视频从某时间开始播放
    mencoder "myvideofile.avi" -cache 8192 -nosound -ovc raw -vf scale=320:240,format=rgb24 -of rawvideo -o /dev/video1 -ss 0:5:0
     
    #从另外的终端运行mplayer查看输出
    mplayer tv:// -tv "driver=v4l:device=/dev/video1:noaudio:outfmt=rgb24"

    上面echo的命令是可以动态修改虚拟摄像头的输出参数的,也可以在挂载时候用参数设置;默认挂载的参数是320x240。
    其中fps帧速可以有如下取值:

    • fps = 0:不设置帧速,输出帧速跟写入的一致;
    • fps > 0:固定输出某个帧速;
    • fps < 0:帧速由输出程序决定(当没有输出读取程序就暂停)。

    因为摄像头设备同时只能被一个程序读取,退出mplayer后可以打开视频Flash,或者其他摄像头应用查看效果。

    PS:尝试使用ffmpeg对X11抓屏发送到摄像头,没完全成功,理论上的命令应该如下:

    ffmpeg -y -t 30 -f x11grab -qscale 2 -r 15 -s 1024x768 -i :0.0 -s 320x240 -f rawvideo -vcodec rawvideo -pix_fmt rgb24 /dev/video1

    即对X进行1024x768, 15fps的抓图,转换成320x240大小,按rawvideo,rgb24方式写到video1,这样的效果仅仅是更新目标图像上面一部分,可能跟ffmpeg的rawvideo输出设置有关,但还没找出什么原因。

    tags: , , , , , ,
    posted in Unix/Linux by PT

    Follow comments via the RSS Feed | Leave a comment | Trackback URL

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    *

    yNem Youngbrunettessucks W Sucks De Freee Sex Izle225 Young Brunettes Sucks 配置Linux下的虚拟摄像头 v e Young Brunettes Sucks q q Young Brunettes Sucks Young Brunettes Sucks Brunettes hNem Youngbrunettessucks W Sucks De Freee Sex Izle225 Young Brunettes Sucks 配置Linux下的虚拟摄像头 n a Brunettes Young Brunettes Sucks Young Brunettes Sucks Brunettes