Skip to content

Commit 0f1e862

Browse files
author
jiangwh
committed
docker study
1 parent fdbe600 commit 0f1e862

File tree

2 files changed

+118
-0
lines changed

2 files changed

+118
-0
lines changed

audiocompress/ffmpeg.md

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# ffmpeg
2+
3+
最简单转码, 以mov转为mp4为例(支持绝大多数编/解码格式):
4+
5+
```
6+
ffmpeg -i in.mov out.mp4
7+
```
8+
9+
仅转码视频, 音频保持不变:
10+
11+
```
12+
ffmpeg -i in.mov -c:a copy out.mp4
13+
```
14+
15+
减小视频分辨率到720p, 码率为2500kbps, fps 30:
16+
17+
```
18+
ffmpeg -i in.mov -vf scale=-2:720 -b:v 2500k -r 30 out.mp4
19+
```
20+
21+
去掉音频:
22+
23+
```
24+
ffmpeg -i in.mov -c:v copy -an out.mov
25+
```
26+
27+
增大12dB音量:
28+
29+
```
30+
ffmpeg -i in.mov -c copy -af volume=12dB out.mov
31+
```
32+
33+
macOS使用显卡加速mpeg4转码(普通macbook应该只能使用这个, 独显可能支持更多驱动):
34+
35+
```
36+
ffmpeg -i in.mov -c:v h264_videotoolbox out.mp4
37+
```
38+
39+
录制在线视频流(示例将MPEG TS流视频不转码保存为ts文件, 源为m3u8列表文件):
40+
41+
```
42+
ffmpeg -i http://xxx.com/yyy/zzz.m3u8 -c copy out.ts
43+
```
44+
45+
录制在线视频流, 保存的同时转码:
46+
47+
```
48+
ffmpeg -i https://xxx.yyy.flv?a=XXX&b=YYY -c:v h264_videotoolbox -vf scale=-2:720 -b:v 2500k out.mp4
49+
```
50+
51+
截取视频中的一部分:
52+
53+
```
54+
ffmpeg -ss 00:xx:yy -i in.mp4 -to 00:mm:nn -c copy -copyts out.mp4
55+
```
56+
57+
-ss后面是起始时间戳, -to后面是结束时间戳, -copyts表示拷贝时间戳, 这会影响到音画同步. 在线视频流也支持从保存某个时间段的视频
58+
59+
60+
61+
```bash
62+
# -aframes number set the number of audio frames to output
63+
# -aq quality set audio quality (codec-specific)
64+
# -ar rate set audio sampling rate (in Hz)
65+
# -ac channels set number of audio channels
66+
# -an disable audio
67+
# -acodec codec force audio codec ('copy' to copy stream)
68+
# -vol volume change audio volume (256=normal)
69+
# -af filter_graph set audio filters
70+
ffmpeg -i out.mp3 -b:a 24K -acodec mp3 -ar 16000 -ac 1 out2Kz.mp3
71+
# 声道转为1个
72+
ffmpeg -i out.mp3 -b:a 12K -acodec mp3 -ar 8000 -ac 1 out2z.mp3
73+
ffmpeg -i out.mp3 -b:a 24K -acodec wmav2 -ar 8000 -ac 1 out.wma
74+
```
75+

docker/docker.md

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Docker
2+
3+
## Namespace
4+
5+
6+
7+
## Cgroup
8+
9+
10+
11+
12+
13+
## UnionFS
14+
15+
16+
17+
##code snapshot
18+
19+
```go
20+
//overlay方式 挂载文件
21+
//func Mount(source string, target string, fstype string, flags uintptr, data string) (err error)
22+
unix.Mount("none", "/var/run/gocker/containers/containerid/fs/mnt", "overlay", 0, "lowerdir=/var/lib/gocker/images,upperdir=,workdir=")
23+
24+
```
25+
26+
27+
28+
## net bridge
29+
30+
```go
31+
//利用go创建一个网桥
32+
linkAttrs := netlink.NewLinkAttrs()
33+
linkAttrs.Name = "bridge0"
34+
gBridge := &netlink.Bridge{LinkAttrs: linkAttrs}
35+
if err := netlink.LinkAdd(gBridge); err != nil {
36+
return err
37+
}
38+
//设置子网掩码
39+
addr, _ := netlink.ParseAddr("172.29.0.1/24")
40+
netlink.AddrAdd(gBridge, addr)
41+
netlink.LinkSetUp(gBridge)
42+
```
43+

0 commit comments

Comments
 (0)