SegmentFault 学习记录最新的文章
2017-02-18T03:36:28+08:00
https://segmentfault.com/feeds/blogs
https://creativecommons.org/licenses/by-nc-nd/4.0/
macOS下nginx配合obs做推流直播.md
https://segmentfault.com/a/1190000008392054
2017-02-18T03:36:28+08:00
2017-02-18T03:36:28+08:00
lovXin
https://segmentfault.com/u/lovxin
0
<h2>这篇探索起源于给妹子看高清电影</h2>
<h3>动辄10G的1080P电影对于网速不够快又懒得找高清资源的妹子来说并不方便看</h3>
<p>而pandaTV等直播平台显然是不可以直播电影的,于是我就按照google的方法自己推流1080P给妹子看电影,配合obs直播软件,非常简单就完成了设置,实测效果还不错。</p>
<p>参考博客,感谢作者</p>
<p><a href="https://link.segmentfault.com/?enc=XihogDn8hrdc41S%2BQjz7Vg%3D%3D.UKnC%2FqZfQ3JT2nuFiICMTdOIA%2BA0E6HpcOKLH%2BLoaqvkE%2Fm6bYsKO8KtDnuf11jo" rel="nofollow">Monkey_ALin</a></p>
<p><a href="https://link.segmentfault.com/?enc=cvj8vLaykLnNjjS4%2Fvj0cA%3D%3D.2dzl%2FsU%2FdwJx4oxRT%2FXcLvBUsyqE%2BJKuiRCaOqDMsQIZsL%2Fo3FWy1v8bLg26HrPy" rel="nofollow">Chakery</a></p>
<p><a href="https://link.segmentfault.com/?enc=RzL%2FWATn2RzIvOX%2F4Z0rYA%3D%3D.KcKUmOdMQWH6V%2BxR2zYNvz2tiIRhZrCtIYHC4eWwlyx1tdmRpoJVAJHjYPeSfcv3l%2FWPj8HrK8vKdjrQ5EvSsw%3D%3D" rel="nofollow">soundflower设置</a></p>
<h3>用到的工具有</h3>
<pre><code>macOS,soundflower,obs,brew,nginx
</code></pre>
<p>开始教程</p>
<h2>1.安装obs</h2>
<p><code>macOS</code>下有<code>obs</code>这款很好的直播软件,可以丰富的采集外部设备,推流也比较稳定,并且<code>open source</code>,强力推荐。</p>
<p><a href="https://link.segmentfault.com/?enc=nDUy0pT1Ml6cMela11%2B5Zg%3D%3D.MZL%2BfLDdPQxdta5CpjwBBrIQy%2BlJYYtFsfIRnypE1Mk%3D" rel="nofollow">obs download</a></p>
<h2>2.安装soundflower</h2>
<p>我们会发现直接推流出去,<code>macOS</code>的系统声音是没有的,这就需要<code>soundflower</code>进行音频输出设置,<br>正统<code>mac</code><a href="https://link.segmentfault.com/?enc=e5S4BGXLsZuKb%2B%2F26Ues2w%3D%3D.ItV%2Fje%2BX6jmszTn6V0hFGn464FdJs%2FJagLQbrr%2FABexz18d18WAIbD3RZV0gmbN9xpuTVtOmVinnm7eVUuC5ukEO0CfBQ3grHNrhN4BMRSM%3D" rel="nofollow">看这里</a></p>
<p>本人是黑苹果,设置方法大同小异,只不过是用<code>Line-out</code>替代了<code>Built-in Output</code></p>
<p><a href="https://link.segmentfault.com/?enc=gghjXXtIMAzGgsfFfn5mvw%3D%3D.3cGG%2F2uHM%2B7SITpmRqJ5fWwr85IT1Mut6DkkVn95tiFZoc0BVItpGgP%2BjE6YWQcy" rel="nofollow">soundflower for mac download</a></p>
<h2>3.安装nginx(需要先安装brew)</h2>
<pre><code>brew tap homebrew/nginx
brew install nginx-full --with-rtmp-module
</code></pre>
<p>此时<code>nginx</code>模块就装好了<br>启动:</p>
<pre><code>nginx
</code></pre>
<p>在浏览器里打开(<a href="https://link.segmentfault.com/?enc=uH3NaRRZh7pwMKmqFjIQdw%3D%3D.temKsXkpDlHYG68R7KLmHH4lcpiRfcGkOh5%2BnDoM5KY%3D" rel="nofollow">http://localhost:8080)</a></p>
<p>出现<code>Welcome to nginx!</code>表示成功</p>
<p>如果出现</p>
<pre><code>nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already in use)
.....</code></pre>
<p>则表示<code>8080</code>端口被占用,查看<code>PID</code></p>
<pre><code>lsof -i tcp:8080
</code></pre>
<p>根据端口<code>PID</code>,<code>kill</code>掉</p>
<pre><code>kill 6048 #替换成你的8080端口的PID
</code></pre>
<p>然后重新执行<code>nginx</code>,打开(<a href="https://link.segmentfault.com/?enc=I3gznmgRunspTvfTkuZZGg%3D%3D.ngKndGI3PbJbcudvqcCCkVZBxHkSkgwsZWnQjD1InAc%3D" rel="nofollow">http://localhost:8080)</a>测试</p>
<h2>4.配置nginx.conf</h2>
<p>查看<code>nginx</code>安装位置</p>
<pre><code>brew info nginx-full
</code></pre>
<p>找到<code>nginx-full</code>位置,一般在<code>/usr/local/etc/nginx/nginx.conf</code></p>
<p>编辑这个文件,在文件最末尾加上</p>
<pre><code># 在http节点后面加上rtmp配置:
rtmp {
server {
listen 1999;
application rtmplive {
live on;
record off;
}
}
}</code></pre>
<p>然后重启<code>nginx</code>,其中的<code>1.10.3</code>要替换成你的版本号,查看<code>nginx -v</code></p>
<pre><code>/usr/local/Cellar/nginx-full/1.10.3/bin/nginx -s reload
</code></pre>
<p>未报错就说明重启成功</p>
<h2>5.开始串流</h2>
<p><code>obs</code>设置——串流——自定义url——url</p>
<p>输入:<code>rtmp://192.168.0.101:1999/rtmplive</code></p>
<p>开始推流,作者在这一步没有报错</p>
<p>然后在收看推流的设备上下载<code>VLC</code>播放器,<code>apple store</code>和<code>google play</code>都有,打开网络串流</p>
<p>将我们的地址写进去:<code>rtmp://192.168.0.101:1999/rtmplive</code></p>
<p>完成,开始享受自制直播吧!</p>
brew package not linked 错误处理
https://segmentfault.com/a/1190000008275214
2017-02-07T16:12:06+08:00
2017-02-07T16:12:06+08:00
lovXin
https://segmentfault.com/u/lovxin
0
<h2>
<code>brew package can't link</code> 问题</h2>
<p>有时候<code>brew install [package]</code>之后运行<code>brew doctor</code>自检会出现<code>not link</code>错误</p>
<pre><code> ~/ brew doctor
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
libevent</code></pre>
<p>运行<code>brew link</code>发现:</p>
<pre><code>~/ brew link libevent
Linking /usr/local/Cellar/libevent/2.1.8...
Error: Could not symlink include/evdns.h
/usr/local/include is not writable.</code></pre>
<p>这就要求我们改变一些系统文件夹的读写权限,要根据自己文件夹的实际情况去写</p>
<pre><code>sudo chown -R usrname:admin /usr/local/
sudo chown -R usrname:admin /usr/include/
sudo chown -R usrname:admin /Library/...</code></pre>
<p>其中<code>usrname</code>在系统偏好设置——用户与群组中查找</p>
<p>再运行:</p>
<pre><code> ~/ brew link libevent
Linking /usr/local/Cellar/libevent/2.1.8... 817 symlinks created</code></pre>
<p>问题解决。</p>
<h2>需要注意的是:现在macOS 10.12已经禁止<code>brew</code>命令使用超级权限<code>sudo</code>
</h2>
github在linux & mac下的仓库同步
https://segmentfault.com/a/1190000008269787
2017-02-07T09:26:29+08:00
2017-02-07T09:26:29+08:00
lovXin
https://segmentfault.com/u/lovxin
0
<h2>linux(mac)下从github同步仓库到本地的方法</h2>
<p>比较详细的博客,感谢作者<br><a href="https://link.segmentfault.com/?enc=kr9tQAlPvuMq70CmZapmIA%3D%3D.QlP8TI%2FeEoB8FcxfPUZIjs3h5U9fKoay3JdSXPdXVMdYYW4ODibBSo4qGSayYJId" rel="nofollow">mac git</a></p>
<h3>1.设置ssh</h3>
<p>参见上面<code>mac git</code></p>
<h3>2.用ssh方法git clone到本地</h3>
<pre><code>git clone git@github.com:usr/repo</code></pre>
<p>若文件比较小可以不单独下载,直接pull下来</p>
<h3>3.cd到要同步的仓库建立git</h3>
<pre><code>git init//初始化仓库</code></pre>
<h3>4.连接到仓库并其起别名叫做origin</h3>
<pre><code>git remote add origin git@github.com:lovXin/NoteBook.git
git pull origin master//推到叫做origin的仓库的master branch下
</code></pre>
<h3>5.进行编辑更改比如新建了test/test.py,查看</h3>
<pre><code>git status//查看文件状况
git add test/test.py
git add . //全部添加</code></pre>
<h3>5.上传,同步</h3>
<pre><code>git commit -m"readme/change info"//确认
git push -u origin master//上传
git push -u origin master -f//强制上传会使github原内容丢失,可以一次性解决版本冲突问题,不推荐多人协同时候使用
git pull --rebase //从github同步</code></pre>