DM36x GStreamer-1.0 pipelines: Difference between revisions
No edit summary |
|||
Line 2: | Line 2: | ||
This page contains a set of GStreamer-1.0 pipelines used on DM36x platforms. The pipelines use custom plugins supporting the Texas Instruments Codec Engine API to access hardware accelerators. | This page contains a set of GStreamer-1.0 pipelines used on DM36x platforms. The pipelines use custom plugins supporting the Texas Instruments Codec Engine API to access hardware accelerators. | ||
Some of these pipelines have to be run on the target board and other in your computer, they are distinguished by the color used to document them, blue pipelines are for the DM36x board and yellow for pipelines have to be run in your PC. | |||
= Live Preview = | = Live Preview = |
Revision as of 14:25, 28 August 2013
Introduction
This page contains a set of GStreamer-1.0 pipelines used on DM36x platforms. The pipelines use custom plugins supporting the Texas Instruments Codec Engine API to access hardware accelerators.
Some of these pipelines have to be run on the target board and other in your computer, they are distinguished by the color used to document them, blue pipelines are for the DM36x board and yellow for pipelines have to be run in your PC.
Live Preview
Display video test pattern
gst-launch-1.0 -e videotestsrc ! 'video/x-raw,format=(string)UYVY,width=640,height=480' ! perf ! v4l2sink device=/dev/video2 max-num-buffers=3
Display video
gst-launch-1.0 -e v4l2src ! 'video/x-raw,format=(string)UYVY,width=640,height=480' ! perf ! v4l2sink device=/dev/video2 max-num-buffers=3
Video Encoding
Video test pattern H-264
gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)NV12, width=640, height=480' ! ce_h264enc ! queue ! perf ! qtmux ! filesink location=test.mp4
Video test pattern JPEG
gst-launch-1.0 videotestsrc num-buffers=60 ! 'video/x-raw, format=(string)NV12, width=640, height=480' ! ce_jpegenc ! queue ! perf ! qtmux ! filesink location=test.mov
Video test pattern MPEG-4
gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)NV12, width=640, height=480' ! ce_mpeg4enc ! queue ! perf ! qtmux ! filesink location=test.mp4
Video capture H-264
gst-launch-1.0 v4l2src ! 'video/x-raw, format=(string)NV12, width=640, height=480' ! ce_h264enc ! queue ! perf ! qtmux ! filesink location=test.mp4
Video capture JPEG
gst-launch-1.0 -e v4l2src ! "video/x-raw, format=(string)NV12, width=640, height=480" ! ce_jpegenc num-out-buffers=5 ! perf ! queue ! qtmux ! filesink location=test.mov
Video capture MPEG-4
gst-launch-1.0 v4l2src ! 'video/x-raw, format=(string)NV12, width=640, height=480' ! ce_mpeg4enc ! queue ! perf ! qtmux ! filesink location=test.mp4
RTP Video Streaming
Stream H.264 video test pattern over RTP
gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)NV12, width=640, height=480' ! ce_h264enc ! queue ! perf ! rtph264pay ! udpsink port=5000 host=10.251.101.15
Client:
Stream JPEG video test pattern over RTP
Server: gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)NV12, width=640, height=480' ! ce_jpegenc num-out-buffers=5 ! perf ! queue ! rtpjpegpay ! udpsink port=5000 host=10.251.101.14 -v
Client: gst-launch udpsrc port=5000 ! 'application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)JPEG, payload=(int)96' ! rtpjpegdepay ! decodebin ! fpsdisplaysink sync=false
Stream MPEG-4 video test pattern over RTP
gst-launch-1.0 videotestsrc ! 'video/x-raw, format=(string)NV12, width=640, height=480' ! ce_mpeg4enc ! queue ! perf ! rtpmp4vpay ! udpsink port=5000 host=10.251.101.15
Client:
Stream H.264 encoded video capture over RTP
gst-launch-1.0 v4l2src ! 'video/x-raw, format=(string)NV12, width=640, height=480' ! ce_h264enc ! queue ! perf ! rtph264pay ! udpsink port=5000 host=10.251.101.15
Client:
Stream JPEG encoded video capture over RTP
Server: gst-launch-1.0 v4l2src ! 'video/x-raw, format=(string)NV12, width=640, height=480' ! ce_jpegenc num-out-buffers=5 ! perf ! queue ! rtpjpegpay ! udpsink port=5000 host=10.251.101.14 -v
Client: gst-launch udpsrc port=5000 ! 'application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)JPEG, payload=(int)96' ! rtpjpegdepay ! decodebin ! fpsdisplaysink sync=false
Stream MPEG-4 encoded video capture over RTP
gst-launch-1.0 v4l2src ! 'video/x-raw, format=(string)NV12, width=640, height=480' ! ce_mpeg4enc ! queue ! perf ! rtpmp4vpay ! udpsink port=5000 host=10.251.101.15
Client:
Stream H-264 encoded video and display video with Dual Resizer
gst-launch-1.0 -e v4l2src chain-ipipe=false max-num-buffers=5 ! 'video/x-raw,format=(string)NV12,width=640,height=480' ! queue ! dualresizer name=drs drs.rsza ! perf ! ce_h264enc target-bitrate= 3000000 ! rtph264pay ! udpsink port=5000 host=10.251.101.14 drs.rszb ! queue ! 'video/x-raw,format=(string)UYVY,width=320,height=240' ! perf ! v4l2sink device=/dev/video2 max-num-buffers=3
Display video and record JPEG encoded video with Dual Resizer
gst-launch-1.0 -e v4l2src chain-ipipe=false max-num-buffers=6 ! 'video/x-raw,format=(string)UYVY,width=640,height=480' ! dualresizer name=drs drs.rsza ! perf ! v4l2sink device=/dev/video2 max-num-buffers=3 drs.rszb ! queue ! 'video/x-raw,format=(string)UYVY,width=320,height=240' ! perf ! ce_jpegenc ! qtmux ! filesink location=testA.mov async=false enable-last-sample=false -v