I read through the release notes and tried the following pipelines for nv12 1280x960@30FPS:
sudo media-ctl -d /dev/media1 -l '"msm_csiphy0":1->"msm_csid0":0[1],"msm_csid0":1->"msm_ispif0":0[1],"msm_ispif0":1->"msm_vfe0_rdi0":0[1]'
sudo media-ctl -d /dev/media1 -V '"ov5645 1-0076":0[fmt:UYVY8_2X8/1280x960 field:none],"msm_csiphy0":0[fmt:UYVY8_2X8/1280x960 field:none],"msm_csid0":0[fmt:UYVY8_2X8/1280x960 field:none],"msm_ispif0":0[fmt:UYVY8_2X8/1280x960 field:none],"msm_vfe0_pix":0[fmt:UYVY8_2X8/1280x960 field:none],"msm_vfe0_pix":1[fmt:UYVY8_1_5X8/1280x960 field:none]'
Using the above pipelines appears to work when running the gstreamer video record example, but it does not produce a usable video:
gst-launch-1.0 -e v4l2src device=/dev/video3 ! video/x-raw,format=NV12,width=1280,height=960,framerate=30/1 ! v4l2video5h264enc extra-controls="controls,h264_profile=4,video_bitrate=2000000;" ! h264parse ! mp4mux ! filesink location=video.mp4 Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock ^Chandling interrupt. Interrupt: Stopping pipeline ... EOS on shutdown enabled -- Forcing EOS on the pipeline Waiting for EOS... Got EOS from element "pipeline0". EOS received - stopping pipeline... Execution ended after 0:02:03.047455430 Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ...
When stopping the video record, and checking the file size it appears that we didn’t capture anything with a filesize of only 4KB with no video data, only the mp4 header.
linaro@linaro-developer:~$ ls -lash | grep video.mp4
4.0K -rw-r--r-- 1 linaro linaro 595 Jul 6 17:02 video.mp4
linaro@linaro-developer:~$ cat video.mp4
ftypmp42mp42mp41isomisofremdat#moovlmvhdՄHՄ@rtrak\tkhdՄHՄH@�mdia mdhdՄHՄH!hdlr�minf$dinfdref
url \stblstsdsttsstscstszstco=udta5meta!hdlrmhlrmdiilst=udta5meta!hdlrmhlrmdiilst
At this point I’m a little stumped, I have the proper format selected and gstreamer doesn’t error out but instead just sits there not recording anything. I would like to run at the full 1280x960 as I did on previous builds, so I’m not exactly sure how to configure scaling or cropping to make this work like this.
Any ideas? Is scaling/cropping required to align the frames to 32 lines? This seemed to be taken care of when using earlier builds.