Items with no label
3335 Discussions

Ready-To-Fly video capture issues

MFind
Beginner
1,652 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
476 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
477 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.

MFind
Beginner
476 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?

0 Kudos
MartyG
Honored Contributor III
476 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/

0 Kudos
MFind
Beginner
476 Views

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

0 Kudos
Reply