如何在Python中播放视频(cv2)的声音 [英] How to play sound from a video (cv2) in Python
问题描述
我正在用python播放mp4文件,但是视频声音没有出来,我搜索了一段时间(无论是否可以播放声音),但找不到任何东西.有谁知道如何播放声音?
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()
cv2不允许播放声音似乎没有用.顺便说一下,我正在使用Python 3.谢谢.
It seems useless that cv2 doesn't allow to play the sound. I'm using Python 3 by the way. Thank you.
答案::OpenCV是计算机视觉库.它不支持音频.如果您想播放声音,可以尝试 ffpyplayer . –感谢>>> yushulx
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
推荐答案
您可以使用Pyglet播放视频及其音频.... 希望这会有所帮助...
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中播放视频(cv2)的声音的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!