如何在Python中播放视频(cv2)的声音 [英] How to play sound from a video (cv2) in Python

查看:2952
本文介绍了如何在Python中播放视频(cv2)的声音的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆