python如何播放视频,如何在Python中播放视频(cv2)的声音

I'm playing a mp4 file in python, but the sound of the video doesn't comes out, I searched for a while if it's anyway to play the sound, but I could not find anything. Does anyone knows how to play the sound?

I post the code that displays de video :

import cv2

import numpy as np

# Create a VideoCapture object and read from input file

# If the input is the camera, pass 0 instead of the video file name

cap = cv2.VideoCapture('video.mp4')

# Check if camera opened successfully

#if (cap.isOpened()== False):

# print("Error opening video stream or file")

# Read until video is completed

while(cap.isOpened()):

# Capture frame-by-frame

ret, frame = cap.read()

if ret == True:

# Display the resulting frame

cv2.imshow('Frame',frame)

# Press Q on keyboard to exit

if cv2.waitKey(25) & 0xFF == ord('q'):

break

# Break the loop

else:

break

# When everything done, release the video capture object

cap.release()

# Closes all the frames

cv2.destroyAllWindows()

It seems useless that cv2 doesn't allow to play the sound. I'm using Python 3 by the way. Thank you.

ANSWER: OpenCV is a computer-vision library. It does not support audio. If you want to play sound, you can try ffpyplayer. – Thanks to >>> yushulx

解决方案

You can use Pyglet to play video along with its audio....

Hope this helps...

import pyglet

vid_path='vid1.mp4' # Name of the video

window=pyglet.window.Window()

player = pyglet.media.Player()

source = pyglet.media.StreamingSource()

MediaLoad = pyglet.media.load(vid_path)

player.queue(MediaLoad)

player.play()

@window.event

def on_draw():

if player.source and player.source.video_format:

player.get_texture().blit(50,50)

pyglet.app.run()

你可能感兴趣的:(python如何播放视频)