ffmpeg+pygame으로 동영상 보기

6703 단어 파이썬pygameffmpeg
  • 스트리밍 비디오 플레이어에 약간의 UI가있는 것을 만들고 싶습니다
  • WebRTC를 RaspberryPi 또는 PINE64 브라우저를 사용하기가 어려웠기 때문에 대안을 찾고 있습니다.
  • ffplay는 비교적 정상적으로 움직이고 있기 때문에 네이티브에 가까운 녀석이라면 괜찮을지도 모릅니다
  • ffmpeg로 디코드하고 pygame (내용은 SDL)로 표시해 보기로 했다

  • 코드



    video_player.py
    import pygame
    import subprocess as sp
    import numpy as np
    
    cmd = ["ffmpeg", "-i", "kemono_960x540.mp4", "-loglevel", "quiet", "-an", "-r", "10", "-pix_fmt", "rgb24", "-f", "image2pipe", "-vcodec", "rawvideo", "-"]
    pipe = sp.Popen(cmd, stdin = sp.PIPE, stdout = sp.PIPE)
    
    pygame.init()
    display = pygame.display.set_mode((960, 540))
    running = True
    
    while running:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False
        row_img = pipe.stdout.read(960*540*3)
        img = np.frombuffer(row_img, dtype='uint8').reshape((540,960,3))
        img = np.swapaxes(img, 0, 1)
        #print(img);break
        surf = pygame.surfarray.make_surface(img)
        display.blit(surf, (0, 0))
        pygame.display.update()
    pygame.quit()
    

    움직이다



    우선 macOS에서.
    $ brew install ffmpeg
    $ pipenv install numpy
    $ pipenv install pygame
    $ pipenv run python video_player.py
    



    참고


  • h tp // 테마 x. 하테나 bぉg. 코m/엔트리/2015/03/03/231300
  • h tps : // s c ゔ ぇ rf ぉ w. 코 m / 쿠에 s 치온 s / 41168396 / HO W-C-Re-A-Py가 메스 r 푸세 - f 로 m - 아 mpy - 어 y - 오 f ぉ t32
  • htps //w w. py 가메. 오 rg/도 cs/개 t/스 r 후라 y yn t로. HTML
  • htps : // 코 m/스페르사이 아쿠진/아니 ms/c580f2 아아 90818150b35
  • 좋은 웹페이지 즐겨찾기