Google+ 행 아웃에서 루프 된 비디오 클립을 웹캠 소스로 사용하고 싶습니다. v4l2loopback을 설치하고 비디오 루프백 장치를 만들었습니다 . 그러나 비디오 프레임을 장치에 쓰는 방법을 알지 못했습니다. 주어진 예 는 다음과 같습니다.
gst-launch videotestsrc ! v4l2sink device=/dev/video1
그래서 gst-launch의 매뉴얼 페이지를 읽고 무슨 일이 일어나고 있는지 이해하려고 노력한 후, 나는 연약한 시도를했습니다.
sudo gst-launch-0.10 filesrc location=/home/briankb/Videos/darthvaderdancing.mp4 ! v4l2sink device=/dev/video0
결과 :
Setting pipeline to PAUSED ...
libv4l2: error getting pixformat: Invalid argument
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
(gst-launch-0.10:12622): GStreamer-CRITICAL **: gst_caps_get_structure: assertion `GST_IS_CAPS (caps)' failed
New clock: GstSystemClock
(gst-launch-0.10:12622): GStreamer-CRITICAL **: gst_structure_get_name: assertion `structure != NULL' failed
Caught SIGSEGV accessing address (nil)
#0 0x00007fc1890f0b03 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007fc18962bff6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fc18962c45a in g_main_loop_run ()
#3 0x00007fc189b5c4cb in gst_bus_poll ()
#4 0x0000000000404587 in ?? ()
#5 0x0000000000403c34 in ?? ()
#6 0x00007fc18902b76d in __libc_start_main ()
#7 0x00000000004043bd in ?? ()
#8 0x00007fff88253ed8 in ?? ()
#9 0x000000000000001c in ?? ()
#10 0x0000000000000006 in ?? ()
#11 0x00007fff882548c4 in ?? ()
#12 0x00007fff882548d4 in ?? ()
#13 0x00007fff882548dc in ?? ()
#14 0x00007fff88254904 in ?? ()
#15 0x00007fff88254906 in ?? ()
#16 0x00007fff8825490f in ?? ()
#17 0x0000000000000000 in ?? ()
Spinning. Please run 'gdb gst-launch 12622' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
29.97 fps, 320x240 및 mp4 컨테이너 (Youtube에서 제공)에서 h264 비디오를 사용하려고하는 클립.