Skip to main content

基于 ffmpeg 的播放器的 cython 实现。

项目描述

FFPyPlayer 是 FFmpeg 库的 python 绑定,用于播放和编写媒体文件。

更多信息:https ://matham.github.io/ffpyplayer/index.html

安装:https ://matham.github.io/ffpyplayer/installation.html

TravisCI 状态 申请者状态 支持的 Python 版本 PyPI 上的最新版本

使用示例

播放文件:

>>> from ffpyplayer.player import MediaPlayer
>>> import time

>>> player = MediaPlayer(filename)
>>> val = ''
>>> while val != 'eof':
...     frame, val = player.get_frame()
...     if val != 'eof' and frame is not None:
...         img, t = frame
...         # display img

编写视频文件:

>>> from ffpyplayer.writer import MediaWriter
>>> from ffpyplayer.pic import Image

>>> w, h = 640, 480
>>> # write at 5 fps.
>>> out_opts = {'pix_fmt_in':'rgb24', 'width_in':w, 'height_in':h,
...     'codec':'rawvideo', 'frame_rate':(5, 1)}
>>> writer = MediaWriter('output.avi', [out_opts])

>>> # Construct image
>>> size = w * h * 3
>>> buf = bytearray([int(x * 255 / size) for x in range(size)])
>>> img = Image(plane_buffers=[buf], pix_fmt='rgb24', size=(w, h))

>>> for i in range(20):
...     writer.write_frame(img=img, pts=i / 5., stream=0)

转换图像:

>>> from ffpyplayer.pic import Image, SWScale
>>> w, h = 500, 100
>>> size = w * h * 3
>>> buf = bytearray([int(x * 255 / size) for x in range(size)])

>>> img = Image(plane_buffers=[buf], pix_fmt='rgb24', size=(w, h))
>>> sws = SWScale(w, h, img.get_pixel_format(), ofmt='yuv420p')

>>> img2 = sws.scale(img)
>>> img2.get_pixel_format()
'yuv420p'
>>> planes = img2.to_bytearray()
>>> map(len, planes)
[50000, 12500, 12500, 0]

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

ffpyplayer-4.3.5.tar.gz (88.4 kB 查看哈希)

已上传 source

内置发行版

ffpyplayer-4.3.5-cp310-cp310-win_amd64.whl (55.8 MB 查看哈希

已上传 cp310

ffpyplayer-4.3.5-cp310-cp310-macosx_11_0_arm64.whl (16.8 MB 查看哈希

已上传 cp310

ffpyplayer-4.3.5-cp310-cp310-macosx_10_9_x86_64.whl (19.9 MB 查看哈希

已上传 cp310

ffpyplayer-4.3.5-cp310-cp310-macosx_10_9_universal2.whl (36.9 MB 查看哈希

已上传 cp310

ffpyplayer-4.3.5-cp39-cp39-win_amd64.whl (55.8 MB 查看哈希

已上传 cp39

ffpyplayer-4.3.5-cp39-cp39-macosx_11_0_arm64.whl (16.8 MB 查看哈希

已上传 cp39

ffpyplayer-4.3.5-cp39-cp39-macosx_10_9_x86_64.whl (19.9 MB 查看哈希

已上传 cp39

ffpyplayer-4.3.5-cp39-cp39-macosx_10_9_universal2.whl (36.9 MB 查看哈希

已上传 cp39

ffpyplayer-4.3.5-cp38-cp38-win_amd64.whl (55.8 MB 查看哈希

已上传 cp38

ffpyplayer-4.3.5-cp38-cp38-macosx_11_0_arm64.whl (16.8 MB 查看哈希

已上传 cp38

ffpyplayer-4.3.5-cp38-cp38-macosx_10_9_x86_64.whl (19.9 MB 查看哈希

已上传 cp38

ffpyplayer-4.3.5-cp38-cp38-macosx_10_9_universal2.whl (36.9 MB 查看哈希

已上传 cp38

ffpyplayer-4.3.5-cp37-cp37m-win_amd64.whl (55.8 MB 查看哈希

已上传 cp37

ffpyplayer-4.3.5-cp37-cp37m-macosx_10_9_x86_64.whl (19.9 MB 查看哈希

已上传 cp37