-
Notifications
You must be signed in to change notification settings - Fork 419
Expand file tree
/
Copy pathav.html
More file actions
92 lines (69 loc) · 8.86 KB
/
Copy pathav.html
File metadata and controls
92 lines (69 loc) · 8.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>第 21 章 音频和视频</title><link rel="stylesheet" type="text/css" href="docbook.css" /><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /><meta name="keywords" content="php,pear,pecl,phar, python, , " /><link rel="home" href="index.html" title="Netkiller Python 手札" /><link rel="up" href="index.html" title="Netkiller Python 手札" /><link rel="prev" href="netkiller-chart.html" title="20.8. Netkiller SVG 图形库" /><link rel="next" href="audio/index.html" title="21.2. 音频处理" /></head><body><a xmlns="" href="//www.netkiller.cn/">Home</a> | <a xmlns="" href="//netkiller.github.io/">简体中文</a> | <a xmlns="" href="http://netkiller.sourceforge.net/">繁体中文</a> | <a xmlns="" href="/journal/index.html">杂文</a>
| <a xmlns="" href="https://github.com/netkiller">Github</a> | <a xmlns="" href="https://zhuanlan.zhihu.com/netkiller">知乎专栏</a> | <a xmlns="" href="https://www.facebook.com/bg7nyt">Facebook</a> | <a xmlns="" href="http://cn.linkedin.com/in/netkiller/">Linkedin</a> | <a xmlns="" href="https://www.youtube.com/user/bg7nyt/videos">Youtube</a> | <a xmlns="" href="//www.netkiller.cn/home/donations.html">打赏(Donations)</a> | <a xmlns="" href="//www.netkiller.cn/home/about.html">About</a><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">第 21 章 音频和视频</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="netkiller-chart.html">上一页</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="audio/index.html">下一页</a></td></tr></table><hr /></div><table xmlns=""><tr><td><iframe src="//ghbtns.com/github-btn.html?user=netkiller&repo=netkiller.github.io&type=watch&count=true&size=large" height="30" width="170" frameborder="0" scrolling="0" style="width:170px; height: 30px;" allowTransparency="true"></iframe></td><td><iframe src="//ghbtns.com/github-btn.html?user=netkiller&repo=netkiller.github.io&type=fork&count=true&size=large" height="30" width="170" frameborder="0" scrolling="0" style="width:170px; height: 30px;" allowTransparency="true"></iframe></td><td><iframe src="//ghbtns.com/github-btn.html?user=netkiller&type=follow&count=true&size=large" height="30" width="240" frameborder="0" scrolling="0" style="width:240px; height: 30px;" allowTransparency="true"></iframe></td><td></td><td><a href="https://zhuanlan.zhihu.com/netkiller"><img src="/images/logo/zhihu-card-default.svg" height="25" /></a></td><td valign="middle"><a href="https://zhuanlan.zhihu.com/netkiller">知乎专栏</a></td><td></td><td></td><td></td><td></td></tr></table><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="av"></a>第 21 章 音频和视频</h1></div></div></div><div class="toc"><p><strong>目录</strong></p><dl class="toc"><dt><span class="section"><a href="camera/av.html#camera">21.1. 摄像头</a></span></dt><dt><span class="section"><a href="audio/index.html">21.2. 音频处理</a></span></dt><dd><dl><dt><span class="section"><a href="audio/index.html#id1292">21.2.1. 录音 WAV 文件</a></span></dt><dt><span class="section"><a href="audio/index.html#id1293">21.2.2. 录音 mp3 文件</a></span></dt><dt><span class="section"><a href="audio/index.html#id1294">21.2.3. Opus 文件录音</a></span></dt><dt><span class="section"><a href="audio/index.html#id1298">21.2.4. 网络播放音频 PCM 流</a></span></dt><dt><span class="section"><a href="audio/index.html#id1301">21.2.5. 网络传输音频 Opus</a></span></dt></dl></dd><dt><span class="section"><a href="moviepy/index.html">21.3. MoviePy</a></span></dt><dd><dl><dt><span class="section"><a href="moviepy/index.html#id1302">21.3.1. 安装 MoviePy</a></span></dt><dt><span class="section"><a href="moviepy/index.html#image">21.3.2. 图片处理</a></span></dt><dt><span class="section"><a href="moviepy/index.html#id1303">21.3.3. 图片转视频</a></span></dt><dt><span class="section"><a href="moviepy/index.html#id1304">21.3.4. 图片生成视频</a></span></dt><dt><span class="section"><a href="moviepy/index.html#id1306">21.3.5. 图片裁剪</a></span></dt><dt><span class="section"><a href="moviepy/index.html#audio">21.3.6. 音频处理</a></span></dt><dt><span class="section"><a href="moviepy/index.html#video">21.3.7. 视频处理</a></span></dt><dt><span class="section"><a href="moviepy/index.html#id1315">21.3.8. 效果处理</a></span></dt><dt><span class="section"><a href="moviepy/index.html#id1319">21.3.9. 字幕</a></span></dt><dt><span class="section"><a href="moviepy/index.html#id1320">21.3.10. 音量大小调节</a></span></dt><dt><span class="section"><a href="moviepy/index.html#id1321">21.3.11. 视频中设置背景音乐</a></span></dt><dt><span class="section"><a href="moviepy/index.html#id1322">21.3.12. 画面截图</a></span></dt><dt><span class="section"><a href="moviepy/index.html#id1324">21.3.13. FAQ 常见问题</a></span></dt></dl></dd><dt><span class="section"><a href="rtc/index.html">21.4. Webrtc/Ortc/Voip</a></span></dt><dd><dl><dt><span class="section"><a href="rtc/index.html#id1325">21.4.1. ICE Server</a></span></dt><dt><span class="section"><a href="rtc/index.html#WebRTC.NVR">21.4.2. NVR(Network Video Recorder)网络视频录像机</a></span></dt><dt><span class="section"><a href="rtc/index.html#WebRTC.Webcam">21.4.3. Webcam 网络直播</a></span></dt></dl></dd></dl></div>
<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="camera"></a>21.1. 摄像头</h2></div></div></div>
<pre class="screen">
pip install opencv_python
</pre>
<pre class="programlisting">
import cv2
# 设置摄像头 0是默认的摄像头 如果你有多个摄像头的话呢,可以设置1,2,3....
cap = cv2.VideoCapture(1) # 苹果电脑 Facetime 摄像头是 1
# 进入无限循环
while True:
ret, frame = cap.read() # 摄像头拍摄图像(单位是帧)
cv2.imshow('frame', frame) # 将frame中的图像显示出来
c = cv2.waitKey(1) # 判断退出条件 当按下'Q'键的退出程序
if c == ord('q'):
break
# 释放摄像头
cap.release()
# 销毁窗口
cv2.DestroyAllWindows()
</pre>
<p>拍照</p>
<pre class="programlisting">
import cv2
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) # 打开摄像头
while True:
# get a frame
ret, frame = cap.read()
frame = cv2.flip(frame, 1) # 摄像头是和人对立的,将图像左右调换回来正常显示
# show a frame
cv2.imshow("capture", frame) # 生成摄像头窗口
if cv2.waitKey(1) & 0xFF == ord('q'): # 如果按下q 就截图保存并退出
cv2.imwrite("test.png", frame) # 保存路径
break
cap.release()
cv2.destroyAllWindows()
</pre>
</div>
</div><script xmlns="" type="text/javascript" id="clustrmaps" src="//cdn.clustrmaps.com/map_v2.js?u=r5HG&d=9mi5r_kkDC8uxG8HuY3p4-2qgeeVypAK9vMD-2P6BYM"></script><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="netkiller-chart.html">上一页</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="audio/index.html">下一页</a></td></tr><tr><td width="40%" align="left" valign="top">20.8. Netkiller SVG 图形库 </td><td width="20%" align="center"><a accesskey="h" href="index.html">起始页</a></td><td width="40%" align="right" valign="top"> 21.2. 音频处理</td></tr></table></div><script xmlns="">
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-11694057-1', 'auto');
ga('send', 'pageview');
</script><script xmlns="" async="async">
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?93967759a51cda79e49bf4e34d0b0f2c";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script><script xmlns="" async="async">
(function(){
var bp = document.createElement('script');
var curProtocol = window.location.protocol.split(':')[0];
if (curProtocol === 'https') {
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
}
else {
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
}
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script></body></html>