summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--software/ime.rst24
-rw-r--r--software/mediaplayer.rst38
2 files changed, 62 insertions, 0 deletions
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 <https://www.csslayer.info>`__ 等人维护。
+
+
+输入法
+------
+
+拼音是最常用的中文输入法。此外,中文输入法中还有几种基于字形的输入法,如五笔、郑码、仓颉等。
+
+对于使用拼音输入法的用户,推荐使用的输入法有 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 <https://ffmpeg.org/>`__ 是一个完整的多媒体解决方案,内部包含多种编码器和解码器,支持大部分常见的媒体格式和编码。ffmpeg 是著名的工程师 Fabrice Bellard 的众多优秀作品之一,使用 LGPL 许可证发布。经过多年的发展和社区贡献,它已经成为现代媒体播放器的核心部分。
+
+ffmpeg 是一套软件库,同时也带有一些实用程序:
+
+* ffmpeg: 一个功能强大的编码器,可以用它进行音视频的裁切和转码
+* ffplay: 一个简单的播放器
+* ffprobe: 媒体信息查看工具
+
+现代的大多数媒体播放器,包括 mplayer, VNC 等,都是基于 ffmpeg 的。
+
+
+mpv
+---
+
+在本书中,笔者推荐 `mpv <https://mpv.io/>`__ 播放器。mpv 源自 `MPlayer <http://www.mplayerhq.hu/>`__ ,对 MPlayer 的代码进行大量的重构和改进,并加入了硬件解码加速的支持。
+
+mpv 可以直接在命令行下使用。也可以安装一个 GUI 前端,如 `SMPlayer <https://www.smplayer.info/>`__ 来使用 mpv.