From 1057ff5db02347e63db30a7a647e6387147b33a7 Mon Sep 17 00:00:00 2001 From: Iru Cai Date: Sun, 16 Sep 2018 11:49:56 +0800 Subject: software: IME and media player --- software/ime.rst | 24 ++++++++++++++++++++++++ software/mediaplayer.rst | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 software/ime.rst create mode 100644 software/mediaplayer.rst diff --git a/software/ime.rst b/software/ime.rst new file mode 100644 index 0000000..a6c529c --- /dev/null +++ b/software/ime.rst @@ -0,0 +1,24 @@ +输入法 +====== + +对于国内的用户来说,输入法是输入文字必须使用的软件。 + +输入法(input method editor, IME)是一个将用户的键盘输入等操作转为符号的工具。使用输入法,用户便可以输入不存在于输入设备上的字符,如中文等非拉丁字符,以及 Emoji 符号。 + +在 X11 窗口系统中,输入法通常由两部分构成,一个是输入法框架,一个是具体的输入法。输入法框架负责接收用户的输入和符号的输出,而输入法部分则是将用户的输入转为输出符号的算法。 + + +输入法框架 +----------- + +X11 最常用的输入法框架有 fcitx 和 ibus. 建议使用 fcitx. + +fcitx 最早是 "Free Chinese Input Tool of X". 由于现在 fcitx 支持的语言已经不止中文一种,因此此后 fcitx 多了几个不同的官方全称,如 "Flexible Context-aware Input Tool with eXtension" (Arch 的 fcitx 的包描述用的是这个名称) 和 "Free Character Input Toy of \*niX". 当前 fcitx 由 `CSSlayer `__ 等人维护。 + + +输入法 +------ + +拼音是最常用的中文输入法。此外,中文输入法中还有几种基于字形的输入法,如五笔、郑码、仓颉等。 + +对于使用拼音输入法的用户,推荐使用的输入法有 sunpinyin 和 rime. diff --git a/software/mediaplayer.rst b/software/mediaplayer.rst new file mode 100644 index 0000000..c360c40 --- /dev/null +++ b/software/mediaplayer.rst @@ -0,0 +1,38 @@ +媒体播放器 +=========== + +播放音乐和视频是常见的娱乐方式。要知道音乐和视频文件是如何播放的,我们首先要对它们有一点了解。 + +一个音频和视频文件大致由以下部分组成: + +* 容器:文件中的音频、视频、字幕等数据通过一定的方式存储和封装在文件中,容器是封装这些内容的一个结构。不同的容器格式在封装数据的方式上有一些差别。常见的容器格式有 mkv, avi 等,通常作为文件的后缀名表现出来。 +* 媒体数据:实际的音频、视频、字幕等数据,它们又通过一定的方式进行编码,这些信息都存放在容器中。 +* 元数据:包括作者、专辑、风格、创建时间等信息,最常见的是音频文件的 ID3 标记。 + +一个播放器包含以下部分: + +* 解流器(demuxer):它解析容器的格式,提取音频、视频、字幕等数据 +* 解码器(decoder):它将音频流、视频流解码,还原为数字信号 +* 控制部分:一个播放器还要实现音视频同步,前进和后退等功能 + + +ffmpeg +------ + +`ffmpeg `__ 是一个完整的多媒体解决方案,内部包含多种编码器和解码器,支持大部分常见的媒体格式和编码。ffmpeg 是著名的工程师 Fabrice Bellard 的众多优秀作品之一,使用 LGPL 许可证发布。经过多年的发展和社区贡献,它已经成为现代媒体播放器的核心部分。 + +ffmpeg 是一套软件库,同时也带有一些实用程序: + +* ffmpeg: 一个功能强大的编码器,可以用它进行音视频的裁切和转码 +* ffplay: 一个简单的播放器 +* ffprobe: 媒体信息查看工具 + +现代的大多数媒体播放器,包括 mplayer, VNC 等,都是基于 ffmpeg 的。 + + +mpv +--- + +在本书中,笔者推荐 `mpv `__ 播放器。mpv 源自 `MPlayer `__ ,对 MPlayer 的代码进行大量的重构和改进,并加入了硬件解码加速的支持。 + +mpv 可以直接在命令行下使用。也可以安装一个 GUI 前端,如 `SMPlayer `__ 来使用 mpv. -- cgit v1.2.3