cannot play a avi movie with MovieTexture nor loadTexture

This question puzzled me for a couple of days, I have search all the forum again and again, but no result.

	def playing(self):
		print "begining of opening"
		# self.tex = MovieTexture("WelcomeVideo")
		# assert self.tex.read("sounds/Welcome.avi"), "Failed to load video!"
		self.tex = loader.loadTexture("sounds/Welcome.avi")
		self.tex.play()
		print "x--------x"
		# Set up a fullscreen card to set the video texture on.
		self.cm = CardMaker("My Fullscreen Card")
		# self.cm.setFrame( -1, 1, -1, 1 )
		self.cm.setFrameFullscreenQuad()
		self.cm.setUvRange(self.tex)
		self.card = NodePath(self.cm.generate())
		self.card.reparentTo(render2d)
		self.card.setTexture(self.tex)
		self.card.setTexScale(TextureStage.getDefault(), self.tex.getTexScale())
		self.sound=loader.loadSfx("sounds/piantou.mp3")#using sounds/piantou.avi in p3d, it give messages:unsupported format
		print "y--------y"
		# Synchronize the video to the sound.
		# self.tex.synchronizeTo(self.sound)
		self.sound.play()

I run the upper code in python, all is ok. But after I pack it to p3d file, the avi file cannot be played.
Using MovieTexture, no message and a white window. Using loadTexture, messages are:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\DOCUME~1\ADMINI~1\LOCALS~1\APPLIC~1\
Panda3D\start\sounds\piantou.avi':
  Duration: 00:00:09.6, start: 0.000000, bitrate: 270 kb/s
  Stream #0.0(und): Video: mpeg4, yuv420p, 320x240, 18.00 fps(r)
  Stream #0.1(und): Audio: mp4a / 0x6134706D, 22050 Hz, stereo

,but give a black window.
I tried to convet it using mpeg or xidv codecs, but no use.
All the above, self.sound could be played well.

I had similar problem.
without the assert the media file will not load.
you probably commented it out after having run it - so it was loaded in yout environemnt.

The MovieTexture doc indicates it takes a string but that this does not load the movie…

see the media-player sample for more help

Have you specified “-n avi” on the packp3d command-line?