189 8069 5689

linux翻转视频命令 linux视频转换

树莓派(Linux 系统)触摸屏翻转显示以及触摸翻转

树莓派(Linux 系统)触摸屏翻转显示以及触摸翻转

成都创新互联公司专业为企业提供中山网站建设、中山做网站、中山网站设计、中山网站制作等企业网站建设、网页设计与制作、中山企业网站模板建站服务,十载中山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

问题:未使用的Pi官方屏幕,所以使用HDMI屏幕显示的时候,显示旋转的同时,触摸没有旋转

目的:旋转屏幕显示的同时,使得触摸也跟随旋转

操作总流程:

旋转90度操作

翻转显示:

1.sudo nano /boot/config.txt

2.在文件末尾加入

display_rotate=0

display_rotate=1   //90°

display_rotate=2   //180°

display_rotate=3   //270°

ctrl + o 保存文档 重启即可。

注:以下操作皆为SSH操作,所以每条指令前都加了DISPLAY=:0,如果本机操作删掉即可。

1.安装xinput

sudo apt-get install xinput

2.列出所有输入设备信息 远程操作时,使用xinput指令需要加入DISPLAY=:0

DISPLAY=:0 xinput --list

3.列出目标设备属性

DISPLAY=:0 xinput --list-props 7

4.旋转触摸的坐标轴

1)所以先交换x、y轴

DISPLAY=:0 xinput --set-prop '7' 'Evdev Axes Swap' 1

2)然后反转y轴

DISPLAY=:0 xinput --set-prop '7' 'Evdev Axis Inversion' 0 1

显示旋转修改之后需要重启。而触摸旋转不需要重启。

详细操作方法: 

1.安装xinput

sudo apt-get install xinput

描述:

xinput - utility to configure and test X input devices  

xinput-用于配置和测试X输入设备的实用程序

xinput is a utility to list available input devices,

xinput是一个实用程序,可以列出可用的输入设备、

query information about a device and change input device settings.

关于设备的查询信息和更改输入设备设置

2.列出所有输入设备信息

xinput --list

如果远程操作记得在命令前加DISPLAY=:0

得到以下信息:

pi@NTGAGE:~ $ DISPLAY=:0 xinput --list

⎡ Virtual core pointer                          id=2    [master pointer  (3)]

⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]

⎜   ↳ Logitech USB Optical Mouse                id=6    [slave  pointer  (2)]

⎜   ↳ WaveShare WaveShare Touchscreen           id=7    [slave  pointer  (2)]

⎣ Virtual core keyboard                         id=3    [master keyboard (2)]

↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]

↳ Logitech USB Keyboard                     id=8    [slave  keyboard (3)]

↳ Logitech USB Keyboard                     id=9    [slave  keyboard (3)]

3.列出目标设备属性

由于所使用的触摸屏幕是微雪7寸屏幕,由以上信息可以得到微雪的触摸屏对应的ID为7

所以,接下来看这款输入设备的属性,

pi@NTGAGE:~ $ DISPLAY=:0 xinput --list-props 7

Device 'WaveShare WaveShare Touchscreen':

    Device Enabled (115):   1

    Coordinate Transformation Matrix (116): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

    Device Accel Profile (240):     0

    Device Accel Constant Deceleration (241):       1.000000

    Device Accel Adaptive Deceleration (242):       1.000000

    Device Accel Velocity Scaling (243):    10.000000

    Device Product ID (244):        3823, 5

    Device Node (245):      "/dev/input/event3"

    Evdev Axis Inversion (246):     0, 0

    Evdev Axis Calibration (247):   no items

    Evdev Axes Swap (248):  0

    Axis Labels (249):      "Abs MT Position X" (267), "Abs MT Position Y" (268), "Abs MT Pressure" (269), "None" (0), "None" (0), "None" (0)

    Button Labels (250):    "Button Unknown" (233), "Button Unknown" (233), "Button Unknown" (233), "Button Wheel Up" (121), "Button Wheel Down" (122)

    Evdev Scrolling Distance (251): 0, 0, 0

    Evdev Middle Button Emulation (252):    0

    Evdev Middle Button Timeout (253):      50

    Evdev Third Button Emulation (254):     0

    Evdev Third Button Emulation Timeout (255):     1000

    Evdev Third Button Emulation Button (256):      3

    Evdev Third Button Emulation Threshold (257):   20

    Evdev Wheel Emulation (258):    0

    Evdev Wheel Emulation Axes (259):       0, 0, 4, 5

    Evdev Wheel Emulation Inertia (260):    10

    Evdev Wheel Emulation Timeout (261):    200

    Evdev Wheel Emulation Button (262):     4

    Evdev Drag Lock Buttons (263):  0

这块屏幕正常显示和触摸的信息如上。

如果执行到这一步,发现并没有以上的Evdev等属性项,请跳转第2种方法。

现在需要达到的目的是在屏幕显示反转的同时,使得触摸也随显示翻转。

屏幕显示为翻转90度。/boot/config.txt设置为display_rotate=1

上述信息中Evdev Axis Inversion 项是每条轴的旋转设置项,后面第一个参数是x,第二个参数是y.

Evdev Axes Swap项对应的是两条轴的交换。

0为不翻转,1为翻转 

例如。x轴原本是朝向右的,当把Evdev Axis Inversion的第一个参数

设置为1,即x轴朝向左。

4.旋转触摸的坐标轴

现在目的是要触摸旋转90度,从坐标轴理解:

即目的x轴正向为初始y轴的反向。目的y轴的正方向为初始x轴的正向。

1)所以先交换x、y轴

DISPLAY=:0 xinput --set-prop '7' 'Evdev Axes Swap' 1

2)然后反转y轴

DISPLAY=:0 xinput --set-prop '7' 'Evdev Axis Inversion' 0 1

这样即可完成触摸旋转90度。若要旋转其他角度,推理一下即可。

显示旋转修改之后需要重启。而触摸旋转不需要重启。

第二种方法

如果查询到的信息如下

DISPLAY=:0 xinput --list-props 6

Device 'WaveShare WaveShare Touchscreen':

    Device Enabled (114):   1

    Coordinate Transformation Matrix (115): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

    libinput Calibration Matrix (246):      0.000000, 1.000000, 0.000000, -1.000000, 0.000000, 1.000000, 0.000000, 0.000000, 1.000000

    libinput Calibration Matrix Default (247):      1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

    libinput Send Events Modes Available (248):     1, 0

    libinput Send Events Mode Enabled (249):        0, 0

    libinput Send Events Mode Enabled Default (250):        0, 0

    Device Node (251):      "/dev/input/event0"

    Device Product ID (252):        3823, 5

可以看到该驱动方式采用的是libinput,

查看/usr/share/X11/xorg.conf.d/目录下是否有40-libinput.conf这个文件。

无 则需要安装 

sudo apt-get install xserver-xorg-input-libinput 

下一步安装完成后ls一下,就可以看到在/usr/share/X11/xorg.conf.d/目录下存在该文件,

下一步复制该文件到/etc/X11/xorg.conf.d/目录下。

一开始xorg.conf.d这个目录在/etc/X11可能没有,需要自己创建。

sudo mkdir xorg.conf.d

下一步复制到xorg.conf.d 目录下即可。

sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/

下一步进入/etc/X11/xorg.conf.d/目录下修改40-libinput.conf 文件

cd /etc/X11/xorg.conf.d/

sudo nano 40-libinput.conf

找到touchscreen section

Section "InputClass"

    Identifier "libinput touchscreen catchall"

    MatchIsTouchscreen "on"

    MatchDevicePath "/dev/input/event*"

    Driver "libinput"

EndSection

添加一行  Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1 

结果为

Section "InputClass"

    Identifier "libinput touchscreen catchall"

    Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1

    MatchIsTouchscreen "on"

    MatchDevicePath "/dev/input/event*"

    Driver "libinput"

EndSection

然后重启生效

这样的修改也是同样修改为翻转90度,如果需要修改为其他角度,请参考libinput的算法

linux常用命令mv

mv命令是move的缩写,可以用来移动文件或者将文件改名,是Linux系统下常用的命令,经常用来备份文件或者目录。

命令格式

mv [选项] 源文件或目录 目标文件或目录

选项:

-f 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;

-i 交互移动,如果目标文件已经存在,则询问用户是否覆盖;

-n 如果目标文件已经存在,则不会覆盖,而且不询问用户;

-v 显示文件或目录的移动过程;

-u 若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级。

27个常用的 Linux 命令

ls会列举出当前工作目录的内容(文件或文件夹)。

mkdir 用于新建一个新目录

显示当前工作目录

切换文件路径,cd 将给定的文件夹(或目录)设置成当前工作目录。

删除给定的目录。

rm 会删除给定的文件

cp 命令对文件进行复制

mv 命令对文件或文件夹进行移动,如果文件或文件夹存在于当前工作目录,还可以对文件或文件夹进行重命名。

cat 用于在标准输出(监控器或屏幕)上查看文件内容

ail 默认在标准输出上显示给定文件的最后10行内容,可以使用tail -n N 指定在标准输出上显示文件的最后N行内容。

less 按页或按窗口打印文件内容。在查看包含大量文本数据的大文件时是非常有用和高效的。你可以使用Ctrl+F向前翻页,Ctrl+B向后翻页。

grep 在给定的文件中搜寻指定的字符串。grep -i “” 在搜寻时会忽略字符串的大小写,而grep -r “” 则会在当前工作目录的文件中递归搜寻指定的字符串。

这个命令会在给定位置搜寻与条件匹配的文件。你可以使用find -name 的-name选项来进行区分大小写的搜寻,find -iname 来进行不区分大小写的搜寻。

tar命令能创建、查看和提取tar压缩文件。tar -cvf 是创建对应压缩文件,tar -tvf 来查看对应压缩文件,tar -xvf 来提取对应压缩文件。

gzip 命令创建和提取gzip压缩文件,还可以用gzip -d 来提取压缩文件。

unzip 对gzip文档进行解压。在解压之前,可以使用unzip -l 命令查看文件内容。

help会在终端列出所有可用的命令,可以使用任何命令的-h或-help选项来查看该命令的具体用法。图就省略啦,会有详细列表显示出来的。

whatis 会用单行来描述给定的命令,就是解释当前命令。

exit用于结束当前的终端会话。

ping 通过发送数据包ping远程主机(服务器),常用与检测网络连接和服务器状态。

who能列出当前登录的用户名。

su 用于切换不同的用户。即使没有使用密码,超级用户也能切换到其它用户。

uname会显示出关于系统的重要信息,如内核名称、主机名、内核版本、处理机类型等等,使用uname -a可以查看所有信息。

df查看文件系统中磁盘的使用情况–硬盘已用和可用的存储空间以及其它存储设备。你可以使用df -h将结果以人类可读的方式显示。

ps显示系统的运行进程。

top命令会默认按照CPU的占用情况,显示占用量较大的进程,可以使用top -u 查看某个用户的CPU使用排名情况。

shutdown用于关闭计算机,而shutdown -r用于重启计算机。这个我就不试了......

linux 视频输出xrandr设置命令

不带参数的xrandr 命令会列出系统支持的视频接口名称和设备连接情况,还可以从输出信息里看到 当前分辨率current ,以及支持的 最大分辨率 。

带*的表示当前分辨率。

如果xrandr查询结果中没有合适的分辨率,则可以通过newmode来

添加,下面将给出eDP1添加1280x1024x60的分辨率方法。

3.1 使用cvt生成一个modeline,命令如下:

3.2 使用newmode创建一个mode,参数就是上面的modeline后的内容:

3.3 新建模式,将新模式添加至当前输出设备,如果出错,则说明不支持此模式

3.4 设置newmode为当前分辨率

(1)打开外接显示器,双屏幕显示相同的内容--克隆,(auto为最高分辨率)

(2)若要指定外接显示器的分辨率可以使用下面的命令(1280*1024):

(3)打开外接显示器,设置为右侧扩展

(4)关闭显示器

(5)打开VGA-0接口显示器,关闭DVI-D-0接口显示器

(6设置HDMI2为主屏幕

(7) 设置eDp1在HDMI2的右面

linux系统如何实现屏幕旋转?

以红旗6为例

1.从开始菜单打开3D开关,打开

2.同时按住Ctrl、Alt键,拖动鼠标

3.看到没有?

linux系统下有什么好的视频转换工具?

Linux下的视频转换:mencoder 制作适合在智能手机和PDA上观看的mpeg4视频。 Linux上有一个很强大的视频音频转换软件,就是Mplayer自带的mencoder (MPlayer's Movie Encoder)。mencoder就象是一台全手动的照相机,可调整的选项非常多,不过这儿只是把最常见的情况说一下。 转换avi文件,并把字幕内嵌到视频中。首先假设一下下列的条件: 文件名:video.avi 字幕文件名:video.srt 目标文件:new.avi 目标文件格式:mpeg4 目标文件视频码率:200 目标文件音频码率:64 目标文件分辨率: 320:240 制作内嵌字幕所需的字体:simsun.ttf (上面各项都可以根据实际情况进行调整) 转换命令如下: mencoder-oac mp3lame -lameopts vbr=3:br=64 -ovc lavc -lavcoptsvcodec=mpeg4:mbd=1:vbitrate=200 -sub video.srt -o new.avi -fontsimsun.ttf video.avi -subcp cp936 -subfont-text-scale 4 -vfscale=320:240 各选项的含义: -oac 编码文件的音频部分。这儿是用lame将音频encode成mp3,即mp3lame。其他可用的选项可以调用mencoder的man page查看。 -lameopts 顾名思义,即lame选项,这儿只需定义一下码率就可以了。 vbr 设定音频码率的方法,格式为vbr=0-4 0 cbr average bitrate 1 mt 2 rh constant bitrate Also forces CBR mode encoding on subsequent ABR presets modes. 3 abr 4 mtrh 在这儿用的是3,abr。 br 就是设定我们所需要的码率值,格式为br=0-1024,只能在vbr为0和3的情况下才能使用该选项。 -ovc 编码文件的视频部分。主要有以下几个选项 -ovc copy 不进行编码,只是复制视频流 -ovc divx4 编码成DivX4/DivX5 -ovc raw 编码成任意不压缩的格式(用‘-vf format’设定具体的格式) -ovc lavc 使用libavcodec进行编码 -lavcopts 就是libavcodec的选项。 vcodec=使用指定的视频编码,下面列一下几个主要的值 h264 H.264 h263 H.263 h263p H.263+ mpeg4 MPEG-4 (DivX 4/5) msmpeg4 DivX 3 msmpeg4v2 MS MPEG4v2 wmv1 Windows Media Video, version 1 (又称 WMV7) wmv2 Windows Media Video, version 2 (又称 WMV8) rv10 旧的RealVideo格式 mpeg1video MPEG-1 video mpeg2video MPEG-2 video mbd 决定视频宏块的算法,这儿只需要mbd=1即可。其余的可以查看man page。 vbitrate 设定视频的码率(默认为800)。 -sub 设定字幕文件 -o 目标视频文件 -font 制作内嵌字幕所需字体的路径 -subcp 字幕的编码,简体中文就是cp936 -subfont-text-scale 字幕字体的大小 -vf scale 视频的分辨率 如果不需要将字幕内嵌入视频文件,只需要去掉-sub、-font、-subcp、-subfont-text-scale这几个选项。将rmvb转换成mpeg4也是如此。 ◆Linux下的视频转换:ffmpeg 格式:ffmpeg [[输入文件选项]- i 输入文件名] {[输入文件选项] 输出文件名} 主要选项: -L 显示ffmpeg的版权说明 -h 显示帮助 -version 显示版本 -formats 显示支持的文件格式,编码和协议 -f 格式名 强制使用格式 -img 文件格式名 强制使用片格式 -i 文件名 待转换文件名字 -y 覆盖同名输出文件 -t 时间 设置影片时间长度 -fs 最大尺寸 设置文件的最大尺寸 -ss 时间点 设置开始转换的时间点 -title 文字 设置标题 -author 文字 设置作者 -copyright 文字 设置版权声明 -comment 文字 设置备注 视频选项: -b 比特率 设置文件比特率 (单位是kbit/s) -r 速度 桢速度 (Hz value) -s 大小 设置大小,宽乘高 -newvideo 在现在的视频流后面加入信的视频流 Audio options: -aframes 数字 设置转换多少桢(frame)的音频 -ab bitrate 设置音乐的比特率(单位:kbit/s) -aq 质量 这只音频质量 (指定编码) -ar 采样率 设置音频采样率 (单位:Hz) -ac 声道数字 设置声道数 -an 取消音频 -acodec 编码 强制音频 编码 ('copy' to copy stream) -vol volume 改变音量 (256为普通) -newaudio 追加音乐


网站栏目:linux翻转视频命令 linux视频转换
本文地址:http://jkwzsj.com/article/hiipop.html

其他资讯