Python 在处理视频流的时候有哪些加速方法?

2018 年 4 月 9 日
 Hzzone

python 处理实时的视频流,例如说每一帧图片都转为灰度图,如何加速? 在同一台机器上,把视频加载到 ram 里,多进程之类的?换 C++?

7257 次点击
所在节点    Python
12 条回复
male110
2018 年 4 月 9 日
换 C++
haozhang
2018 年 4 月 9 日
python 加载 dll,dll 处理这些→_→
WildCat
2018 年 4 月 9 日
WildCat
2018 年 4 月 9 日
video steam? 忽略我吧~
justou
2018 年 4 月 9 日
我晓得有一条 ffmpeg 命令行可以直接转: ffmpeg -i input -vf format=gray output, input 应该可以是流形式的,
选择用 python 的话可以试试这个: https://github.com/mikeboers/PyAV, av 用 cython 包装的 ffmpeg, 比 moviepy 用命令行方式调用 ffmpeg 可控性高很多.
fgodt
2018 年 4 月 9 日
用 c 写个库,python 调用
c 的库可以使用 ffmpeg 如果你的机器支持硬件加速更好,解码出来的图片本来就是 yuv 的所以灰度图一并解决了
AX5N
2018 年 4 月 9 日
你打算从头实现还是用别人的库,从头实现的话,那就是直接用 c/c++写,用 python 调用。用别人的库的话,别人基本都是已经做好优化了,你能做的大概也就是多进程处理了。这种处理的瓶颈应该不在于 io,你直接载入内存没多大用,反而搞不好撑爆你的内存
Eds1995
2018 年 4 月 9 日
上面说用 C/C++写库的人都是大神,OpenCV 就很快呀处理视频流。
4KMOMhIkocgLELMt
2018 年 4 月 10 日
@Eds1995 正解,有 pyopencv
defphilip
2018 年 4 月 10 日
opencv 其实已经很快了,python-opencv 内部视频播放应该就是走的 ffmpeg,如果只是单纯的灰度处理,opencv 完全满足了
Hzzone
2018 年 4 月 10 日
@defphilip
@taianrc
@Eds1995
有些任务包括 opencv,处理每一帧比较耗时,不是说用 opencv 就能解决的。。只是说即使用了 opencv,也不是循环这个视频的每一帧,是尽量的加速视频处理
flaneurse
2018 年 4 月 10 日
opencv 读 frame...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/445400

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX