Items with no label
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
For the latest information on Intel’s response to the Log4j/Log4Shell vulnerability, please see Intel-SA-00646
3322 Discussions

Ready-To-Fly video capture issues

MFind
Beginner
1,291 Views

Hi,

I'm working with RTF drone with RealSense R200 and I'm trying to capture video stream.

When I type command on my drone:

sh-4.3# gst-launch-1.0 v4l2src device=/dev/video13 ! video/x-raw, width=640, height=480, framerate=30/1 ! xvimagesink

 

I get video stream in uppel left corner of my screen.

But when I try to save the stream using this command:

 

sh-4.3# gst-launch-1.0 v4l2src device=/dev/video13 ! video/x-raw, width=640, height=480, framerate=30/1 ! filesink location=video13.mp4

and try to open it (after copying onto my computer) via VLC media player, it doesn't work.

So I tried capturing images with this command:

sh-4.3# C=10 INPUT=1 MODE=PREVIEW /home/root/sample-apps/capturev4l2/capturev4l2 --userp -d /dev/video13

 

Then I copied output files onto my computer and tried to convert them with ffmpeg with command:

my-linux> ffmpeg -f rawvideo -s 640x480 -pix_fmt yuv420p -i Image-video2-620x480-7.yuv420 test.jpg

 

I get this output:

ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers

built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609

configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv

libavutil 54. 31.100 / 54. 31.100

libavcodec 56. 60.100 / 56. 60.100

libavformat 56. 40.101 / 56. 40.101

libavdevice 56. 4.100 / 56. 4.100

libavfilter 5. 40.101 / 5. 40.101

libavresample 2. 1. 0 / 2. 1. 0

libswscale 3. 1.101 / 3. 1.101

libswresample 1. 2.101 / 1. 2.101

libpostproc 53. 3.100 / 53. 3.100

[rawvideo @ 0xdd9400] Estimating duration from bitrate, this may be inaccurate

Input # 0, rawvideo, from 'Image-video2-640x480-7.yuv420':

Duration: 00:00:00.04, start: 0.000000, bitrate: 92569 kb/s

Stream # 0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 640x480, 92160 kb/s, 25 tbr, 25 tbn, 25 tbc

[swscaler @ 0xdeacc0] deprecated pixel format used, make sure you did set range correctly

Output # 0, image2, to 'test.jpg':

Metadata:

encoder : Lavf56.40.101

Stream # 0:0: Video: mjpeg, yuvj420p(pc), 640x480, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc

Metadata:

encoder : Lavc56.60.100 mjpeg

Stream mapping:

Stream # 0:0 -> # 0:0 (rawvideo (native) -> mjpeg (native))

Press [q] to stop, [?] for help

[rawvideo @ 0xde2ba0] Invalid buffer size, packet size 2048 < expected frame_size 460800

Error while decoding stream # 0:0: Invalid argument

frame= 1 fps=0.0 q=1.6 Lsize=N/A time=00:00:00.04 bitrate=N/A

video:6kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

I also tried using website "rawpixels.net" to convert file, but it didn't work.

 

My intel aero version is 1.6.0

 

How can I get converted file (image and video)?
0 Kudos
1 Solution
MartyG
Honored Contributor III
115 Views

GStreamer related problems can be difficult to diagnose. As a starting point in heling you, I'd like to ask if you have read this guide on video streaming with Aero.

https://github.com/intel-aero/meta-intel-aero/wiki/06-Cameras-and-Video 06 Cameras and Video · intel-aero/meta-intel-aero Wiki · GitHub

In that guide, the example ffmpeg instruction that they use is:

sudo gst-launch-1.0 -e v4l2src device=/dev/video13 num-buffers=2000 ! autovideoconvert format=i420 width=1920 height=1080 framerate=30/1 ! vaapih264enc rate-control=cbr tune=high-compression ! qtmux ! filesink location=encoded_video.mp4

ffmpeg -i encoded_video.mp4

This instruction is used to output a list of the specification of the video.

View solution in original post

4 Replies
MartyG
Honored Contributor III
116 Views

GStreamer related problems can be difficult to diagnose. As a starting point in heling you, I'd like to ask if you have read this guide on video streaming with Aero.

https://github.com/intel-aero/meta-intel-aero/wiki/06-Cameras-and-Video 06 Cameras and Video · intel-aero/meta-intel-aero Wiki · GitHub

In that guide, the example ffmpeg instruction that they use is:

sudo gst-launch-1.0 -e v4l2src device=/dev/video13 num-buffers=2000 ! autovideoconvert format=i420 width=1920 height=1080 framerate=30/1 ! vaapih264enc rate-control=cbr tune=high-compression ! qtmux ! filesink location=encoded_video.mp4

ffmpeg -i encoded_video.mp4

This instruction is used to output a list of the specification of the video.

View solution in original post

MFind
Beginner
115 Views

Thank you I'm now able to record a video, but I have one more problem.. still with gstreamer. (?)

When I use command to make a photo:

sh-4.3# sudo gst-launch-1.0 v4l2src device=/dev/video13 num-buffers=1 ! jpegenc ! filesink location=test.jpg"

and then I test it with 'file':

 

sh-4.3# file test.jpg

I get:

test.jpg: empty

any suggestion what am I doing wrong?

MartyG
Honored Contributor III
115 Views

I wasn't able to find a clear answer to your new question but did find a guide to using jpegenc. Please copy and paste the link below into your browser.

technomancy.org/gstreamer/mjpeg-gstreamer-encoding/

MFind
Beginner
115 Views

I couldn't find anything about capturing single frames and saving them as an image in this tutorial, but thanks for the link

Reply