相关疑难解决方法(0)

如何从matplotlib中删除框架(pyplot.figure vs matplotlib.figure)(frameon =在matplotlib中有问题)

为了删除图中的帧,我写了

frameon=False
Run Code Online (Sandbox Code Playgroud)

与之完美搭配pyplot.figure,但只有matplotlib.Figure它才能消除灰色背景,框架保持不变.另外,我只想显示线条,图中所有其余部分都是透明的.

使用pyplot我可以做我想做的事情,我想用matplotlib来做这件事有一个长期的原因我宁愿不提及我的问题.

python matplotlib

127
推荐指数
9
解决办法
18万
查看次数

如何使用x264 C API将一系列图像编码为H264?

如何使用x264 C API将RBG图像编码为H264帧?我已经创建了一系列RBG图像,我现在如何将该序列转换为H264帧序列?特别是,如何将这个RGB图像序列编码为H264帧序列,该帧由单个初始H264关键帧后跟依赖H264帧组成?

c image h.264 x264

61
推荐指数
3
解决办法
5万
查看次数

在HTML5 websocket服务器中切割媒体流,用于基于Web的聊天/视频会议应用程序

我们目前正在使用HTML5 websockets开发聊天+(文件共享+)视频会议应用程序.为了使我们的应用程序更易于访问,我们希望使用以下序列实现Adaptive Streaming:

  1. 原始音频/视频数据客户端进入服务器
  2. 流被分成1秒块
  3. 将流编码为不同的带宽
  4. 客户端接收描述可用段的清单文件
  5. 使用普通HTTP下载一个段
  6. 带宽下一个段根据前一个段的性能选择
  7. 客户端可以以各种数据速率从多个不同的备用流中进行选择

那么..我们如何用Python分割我们的音频/视频数据?

我们知道Microsoft已经构建了Expression Encoder 2,它支持Adaptive Streaming,但它只支持Silverlight,而这不是我们想要的.

编辑:
还有一个名为FFmpeg的解决方案(对于Python和PyFFmpeg包装器),但它只支持Apple Adaptive Streaming.

python html5 split stream

25
推荐指数
1
解决办法
4万
查看次数

使用numpy和mencoder直接绘制到电影

所以,这应该是对这个帖子的评论,但它显然已经关闭了,所以就这样了.我已经用matplotlib和numpy和mencoder成功地玩了,正如这里所建议的那样.我已经采用了Voki Codder缓冲区到stdin解决方案,这大大加快了整个过程.问题是,我在命令的-format ="bgra"部分找不到任何文档.这意味着字节是从右到左的蓝绿色红色alpha,右边.他们必须是uint32,或其他什么.问题是我正在绘制花车的彩色图,所以我试图将它们转换为灰度,但是我得到了许多奇怪的模式让我坚信我做错了什么.我写了这个函数来从一个范围内的浮点数转换为uint32.但结果并不是我预期的原因,我做了一件非常愚蠢的事情吗?

def grayscale(x, min, max):
  return np.uint32((x-min)/(max-min)*0xffffff)
Run Code Online (Sandbox Code Playgroud)

python numpy mencoder matplotlib video-processing

6
推荐指数
1
解决办法
919
查看次数

在脚本中使用Matplotlib的渲染器问题

我已经缩小到这个电话:

fig.canvas.tostring_argb() #fig=matplotlib.pyplot.figure()
Run Code Online (Sandbox Code Playgroud)

AttributeError当我将代码作为python脚本运行时,此函数引发了一个问题. AttributeError: 'FigureCanvasGTKAgg' object has no attribute 'renderer'

但是,如果在ipython --pylab命令行中运行,此代码可以正常工作.

据我所知,文档中的Agg渲染器应该可以正常工作.

上下文是我试图从数字制作电影,而不是将帧保存到磁盘; 按照这个问题.我正在使用流式传输像素数组的方法ffmpeg(作为一个单独的进程运行)来执行此操作,我需要argb帧中的值数组.

我是否可以通过一些配置设置让matplotlib在脚本中正常工作?

编辑use('Agg')根据评论 尝试; 仍然失败; 这是一个最小的工作示例.

[dave@dave tools]$ python -c "import matplotlib; matplotlib.use('Agg'); import matplotlib.pyplot; fig=matplotlib.pyplot.figure(); fig.canvas.tostring_argb()"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_agg.py", line 416, in tostring_argb
    return self.renderer.tostring_argb()
AttributeError: FigureCanvasAgg instance has no attribute 'renderer'
Run Code Online (Sandbox Code Playgroud)

python matplotlib

6
推荐指数
2
解决办法
3813
查看次数

加速 matplotlib 动画到视频文件

在 Raspbian(Raspberry Pi 2)上,从我的脚本中删除的以下最小示例正确生成了一个 mp4 文件:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import animation

def anim_lift(x, y):

    #set up the figure
    fig = plt.figure(figsize=(15, 9))

    def animate(i):
        # update plot
        pointplot.set_data(x[i], y[i])

        return  pointplot

    # First frame
    ax0 = plt.plot(x,y)
    pointplot, = ax0.plot(x[0], y[0], 'or')

    anim = animation.FuncAnimation(fig, animate, repeat = False,
                                   frames=range(1,len(x)), 
                                   interval=200,
                                   blit=True, repeat_delay=1000)

    anim.save('out.mp4')
    plt.close(fig)

# Number of frames
nframes = 200

# Generate data
x = np.linspace(0, 100, num=nframes)
y = np.random.random_sample(np.size(x)) …
Run Code Online (Sandbox Code Playgroud)

python ffmpeg matplotlib raspberry-pi raspbian

4
推荐指数
2
解决办法
7297
查看次数

使用管道直接从np.array编写电影

我有一个4D numpy电影帧阵列.我正在寻找一个函数,以给定的帧速率将它们写入电影.我在我的操作系统上安装了FFMPEG,正如我从这些答案中看到的,最有效的方法是通过管道.

但是,我使用管道的经验很少,上面链接中的解释对我来说没什么意义.此外,很少有答案似乎实际上实现了管道,并且确实使用了mencoder,而不是FFMPEG.我对FFMPEG相对缺乏经验,所以我不确定如何修改mencoder答案中的命令字符串以使其在FFMPEG中工作.

我想要的是什么:

以下形式的功能:

animate_np_array(4d_array,framerate) - > output.mp4(或其他视频编解码器)

它实现了一个接一个地将帧发送到FFMPEG的管道,并且我可以将其复制粘贴到我现有的代码中.

此外,绝对有必要这个函数永远不会实际绘制任何帧,因为对matplotlib.imshow()函数的调用(正如我最常见的那样)会大大减慢速度.

python video ffmpeg numpy matplotlib

4
推荐指数
1
解决办法
2524
查看次数