ビデオ マッピング セットのストリーム ジェネレータに取り組んでいますが、イメージを安定させることができません。私はpython-v4l2で v4l2loopback デバイスを開き、png に基づいてそれを介してビデオ ストリームを生成するため、vj セットでライブ ビデオを生成し、それらを静止ビデオ マップしてエフェクトを適用できます。
テスト ケース: 1) v4l2loopback モジュールをロードする
2) Python を実行します。
import fcntl, numpy
from v4l2 import *
from PIL import Image
height = 600
width = 634
device = open('/dev/video4', 'wr')
print(device)
capability = v4l2_capability()
print(fcntl.ioctl(device, VIDIOC_QUERYCAP, capability))
print("v4l2 driver: " + capability.driver)
format = v4l2_format()
format.type = V4L2_BUF_TYPE_VIDEO_OUTPUT
format.fmt.pix.pixelformat = V4L2_PIX_FMT_RGB32
format.fmt.pix.width = width
format.fmt.pix.height = height
format.fmt.pix.field = V4L2_FIELD_NONE
format.fmt.pix.bytesperline = format.fmt.pix.width * 4
format.fmt.pix.sizeimage = format.fmt.pix.width * format.fmt.pix.height * 4
format.fmt.pix.colorspace = V4L2_COLORSPACE_SRGB
print(fcntl.ioctl(device, VIDIOC_S_FMT, format))
img = Image.open('img/0.png')
img = img.convert('RGBA')
while True:
device.write(numpy.array(img))
3) Cheese またはその他の v4l2 ストリーム ビューアーを実行します。
結果は適切な色とサイズの画像ですが、すべてのフレームが左から右にジャンプし、常に少し左にジャンプするため、スライドしてジャンプするビデオ結果が得られます. 私は何を間違っていますか?
よろしくお願いします、
ハリエボ
追伸: 結果を確認したい場合:リンクこれまでのところ、LiVES、puredate、gem ビデオ マッピングのセットアップは v4l2 ストリームでうまく機能しています。