KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am trying to make an Animation of a wave package and save it as a movie. Everything except the saving is working. Can you please tell me what I am doing wrong? When going into the line ani.save('MovWave.mp4') he tells me: writer = writers.list()[0] IndexError: list index out of range I tried googling it of course, but I don't even know what it means. UPDATE: I can call ffmpeg in console now. It says I have ffmpeg version 0.10.7-6:0.10.7-0jon1~precise installed. I updated the code and ran the program, but now I get the following error: Traceback (most recent call last): ani.save('MovWave.mpeg', writer="ffmpeg") writer.grab_frame() dpi=self.dpi) self.canvas.print_figure(*args, **kwargs) self.figure.dpi = origDPI self.dpi_scale_trans.clear().scale(dpi, dpi) self._mtx = np.identity(3) from numpy import eye File "<frozen importlib._bootstrap>", line 1609, in _handle_fromlist UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte Update 2: Apparently there is a bug when using python 3.3 as doctorlove pointed out. I am now trying to use python 2.7 instead. Now it creates an mpeg-file but it cannot be played and it is only about ~150 kB big. Update 3: Okay, so I tried the exact same code on my Win7 machine and it also works in python 3.3. But I have the same problem, I had earlier with python 2.7. The mpeg-file created cannot be played and is only a few hundred kB. #! coding=utf-8 import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation import time time.clock() def FFT(x,y): X = (x[-1]-x[0])/len(y) f = np.linspace(-2*np.pi/X/2,2*np.pi/X/2,len(y)) F = np.fft.fftshift(np.fft.fft(y))/np.sqrt(len(y)) return(f,F) def FUNCTION(k_0,dx,c,t): y = np.exp(1j*k_0*(x-c*t))*np.
Tags (comma-separated)
Save Edits
Cancel