2013-10-30 4 views
0

jpg를 생성하는 프로그램이 있습니다. 생성 된 이미지를 가상 웹캠으로 보내고 싶습니다. v4l2loopback을 사용하여 가상 웹캠을 만들 수 있으며 gstreamer를보고 있지만 제대로 작동하지는 않습니다.v4l2 장치에 이미지를 보내려면

multifilesrc로 gst-launch를 시도했지만 이미지가 이미 생성 된 경우에만 작동하는 것으로 보입니다. 또한 gst-launch를 설정하여 웹캠에 하나의 이미지를 보내고 새 이미지가 생성되면 이미지를 덮어 씁니다. 유감스럽게도 gstreamer가 손상됩니다.

내가 어떻게이 작업을 수행 할 수 있는지 알 수 있습니까? 나는 gstreamer를 사용할 필요가 없지만, 리눅스에서 이것을 이상적으로 파이썬으로 구현하려고한다.

+2

왜 이미지가 카메라를 _to_ 보내려고? 카메라가 그들과 무엇을 함께하기를 원합니까? 마이크는 저품질 스피커로 사용할 수 있지만 카메라를 홀로그램 프로젝터로 사용할 수 있다고는 생각하지 않습니다. – abarnert

+0

가상 웹캠으로 보내고 싶습니다. 그러면 VoIP 채팅에서 이러한 이미지를 스트리밍 할 수 있습니다. – Ric

+1

귀하의 질문에 _really_, 비디오 스트림을 기대하고 있으며 웹캠과 관련이없는 사용자 지정 이미지를 VoIP 클라이언트에 스트리밍하는 방법은 무엇입니까? –

답변

1

다음 스크립트는 디렉토리를 모니터링하고 새로 추가 된 모든 이미지를 gstreamer로 전달하여 비디오 장치로 전송합니다 (/dev/video0,하지만 마음대로 변경할 수 있음). 경로와

호출은 유일한 인수로 모니터링하는 (예를 들어, ./pics2v4l2 /tmp/pics는)

#!/bin/sh 

DIR=$1 
DEVICE=/dev/video0 

inotifywait -m "${DIR}" \ 
| awk '$2== "CLOSE_WRITE,CLOSE" {print $1"/"$3; fflush()}' \ 
| while read f; do 
gst-launch-0.10 uridecodebin uri="file://${f}" \ 
! ffmpegcolorspace \ 
! videoscale \ 
! imagefreeze \ 
! identity error-after=2 \ 
! v4l2sink show-preroll-frame=false device=${DEVICE} 
done 
관련 문제