非逐句译,同时译者wooce添加了其他一些内容。
引言
服务端的Javascript: node.js近期人气急升。
node.js的作者做的网络封装库libuv , 提供了跟libev同样的核心功能,并有些真的不错的libuv独有的好处:
- Windows平台上的高性能IO
- 异步文件操作
- 内置的线程池
- 异步的getaddrinfo
- 更优雅的使用API。
等等。
我寻找libuv的python封装,找到了pyuv: https://github.com/saghul/pyuv
安装
不能用Pypi来安装。需要用git下载源码后安装:
$ git clone https://github.com/saghul/pyuv.git
$ python setup.py build
$ sudo python setup.py install
示例
import os
import signal
import threading
import pyuv
def on_client_shutdown(client):
client.close()
clients.remove(client)
def on_read(client, data):
if data is None:
client.close()
clients.remove(client)
return
data = data.strip()
if not data:
return
client.write(data+os.linesep)
client.shutdown(on_client_shutdown)
def on_connection(server):
client = server.accept()
clients.append(client)
client.start_read(on_read)
def async_exit(async):
[c.close() for c in clients]
async.close()
signal_h.close()
server.close()
def signal_cb(sig, frame):
async.send(async_exit)
print "PyUV version %s" % pyuv.__version__
loop = pyuv.Loop()
async = pyuv.Async(loop)
clients = []
server = pyuv.TCP(loop)
server.bind(("0.0.0.0", 5000))
server.listen(on_connection)
signal_h = pyuv.Signal(loop)
signal_h.start()
t = threading.Thread(target=loop.run)
t.start()
signal.signal(signal.SIGINT, signal_cb)
signal.pause()
t.join()
print "Stopped!"
性能测试
pyuv的测试结果跟tornado相比的话稍有些慢。pyuv的设计和tornado相似。
参考
joyent/libuv ? GitHub
结论
通过pyuv,可以很容易地在python中使用libuv,而且非常有趣.
译者wooce注:uevent 是一个在gevent中把libuv作为网络核心的实现,它就是基于pyuv之上的,不过它还是个试验性的project, 主要功能是可用的,但尚未通过所有测试,由于gevent跟libev现在的紧密集成,换成libuv在实现上有所阻碍。
- 大小: 7 KB
分享到:
相关推荐
pyuv能够在linux系统下播放yuv格式视频
打开yuv、rgb格式文件
pyuv播放器可以播放yuv格式视频,用于linux平台
NULL 博文链接:https://chuqq.iteye.com/blog/1702637
YUV格式查看工具
找了很久的工具,此工具支持yuv444p yuv420p等格式的图片
在ubuntu平台上,pyuv可以播放yuv格式的视频。
linux下比较好的播放yuv文件的播放器,经过本人实测效果不错,能播放从usb摄像头获取的yuv视频流。
pyuv, yuv player for ubuntu. tested on ubuntu 18.04.
资源来自pypi官网。 资源全名:pyuvdata-2.0.2.tar.gz
Ubuntu 64位系统下的YUV播放器,可以选择视频尺寸、YUV格式等参数设置。比较方便的工具软件。
一个好用的播放器,MFC实现源码直接可以运行,建议使用VS2005直接编译
可以播放h264数据 可以分析TS文件(正确的) 可以播放yuv数据
[pyuv](https://github.com/saghul/pyuv), and [others](https://github.com/libuv/libuv/wiki/Projects-that-use-libuv). ## Feature highlights * Full-featured event loop backed by epoll, kqueue, IOCP, ...
ESEye+ Elecard Stream Analyzer +VideoQE+BAnalyzer+pyuv 亲测可用,内附使用说明
H264分析工具Elecard StreamEye Tools 包括: eseye_u.exe pyuv.exe VideoQE.exe
针对H264的视频文件分析. 包括,Elecard StreamEye Tools . eseye.pyuv.SAnalyzer.VideoQE
不,我们先编译pyuv。 汇编 下载,编译并安装libuv 1.x版。 (请注意,Ubuntu 存储库中的版本是 0.10。) 获取pyuv。 运行python setup build_ext --use-system-libuv build 将build/lib.*的内容移到PYTHONPATH...
Windows平台下的yuv播放器。pyuv可以播放yuv格式的视频。但最好在linux平台下使用,效果更好!