diff options
author | harinarayan <harinarayan@24075187-2e39-4e88-bbb8-bc8aa768f540> | 2011-10-20 12:14:40 +0000 |
---|---|---|
committer | harinarayan <harinarayan@24075187-2e39-4e88-bbb8-bc8aa768f540> | 2011-10-20 12:14:40 +0000 |
commit | 98a0ae78f99a7c4607a87d2f5e627d597830d2b6 (patch) | |
tree | 4c4498c9e9adc3b4c16fc991ebfdb5ee41281295 | |
parent | 9fde75b012767b00b7b92f5c4f8e001b3ad0a7c9 (diff) |
Updated example gstreamer pipelines for dm81xx
git-svn-id: https://gstreamer.ti.com/svn/gstreamer_ti/trunk@974 24075187-2e39-4e88-bbb8-bc8aa768f540
-rw-r--r-- | gstreamer_ti_dm81xx/RELEASE_NOTES.TXT | 364 | ||||
-rw-r--r-- | gstreamer_ti_dm81xx/gstreamer_demo/dm814x/example_pipeline.sh | 27 | ||||
-rw-r--r-- | gstreamer_ti_dm81xx/gstreamer_demo/dm816x/example_pipeline.sh | 27 |
3 files changed, 50 insertions, 368 deletions
diff --git a/gstreamer_ti_dm81xx/RELEASE_NOTES.TXT b/gstreamer_ti_dm81xx/RELEASE_NOTES.TXT index 279790b..9a476a3 100644 --- a/gstreamer_ti_dm81xx/RELEASE_NOTES.TXT +++ b/gstreamer_ti_dm81xx/RELEASE_NOTES.TXT @@ -1,371 +1,11 @@ -Release 1.02 -============ +Release +======= New Features ------------ - DM365 Support: - - Tracker 976 - Support for the video/x-xvid mime type - - DVSDK Support: - - General: - - Tracker 966 - Update open-source base components - - Tracker 997 - Add "encodingPreset" property in encoder elements - - Tracker 1009 - Add support for MPEG-4 video inside quicktime container - - Tracker 1012 - videnc: add support for generating packetized/byte stream - - Tracker 1031 - Resolve build issues when using the CodeSourcery 2009q1 - toolset - - Tracker 1055 - Add support for DVSDK 3.10 - - Tracker 1070 - Add support for new DSPLink directory structure - - Tracker 1087 - Add support for new DSPLink directory structure in - Makefile.external - - Tracker 1089 - Build all components with -O2 by default - - Tracker 1094 - Add v4l2src support for the latest GIT kernels in - gst-plugins-g ood-0.10.16 - - Tracker 1096 - Add support for the NV16 colorspace in TIVidenc1 - - Tracker 1097 - Add support for the NV16 colorspace in TIDmaiVideoSink - - Tracker 1098 - Add support for the NV16 colorspace in TIVidResize - - Tracker 1099 - Add support for the 1080P_60 video standard in - TIDmaiVideoSink - - Tracker 1120 - Remove DM357 support - - Tracker 1126 - Create and integrate a new "TIDmaiBufTab" buffer table - object - - Tracker 1127 - Remove support for xDM 0.9-based codecs - - Tracker 1128 - Add support for user-allocated buffers in TIDmaiVideoSink - - Tracker 1139 - Add a property to hide the OSD on DM365/DM6446/DM355 - during video playback. - - Tracker 1160 - Add TIAuddec1 support for decoding AC3 audio streams - - Tracker 1163 - Add parameter to gst_ti_calc_buffer_size that specifies - pitch (bytes per line) - - Tracker 1165 - Remove MontaVista 4.0.1 configuration from Makefile.common - - Tracker 1167 - DVSDK 3.10 Support for DM6467T - - Tracker 1168 - DVSDK 3.10 Support for DM365 - - Tracker 1169 - DVSDK 3.10 Support for DM355 - - -Fixed Issues ------------- - - Tracker 962 - DM355 JPEG corruption in the lower right corner - - Tracker 970 - dmai-perf inaccuracy in fps and bps calculation - - Tracker 1001 - Handle the case when audio decoder outputs zero byte - - Tracker 1010 - rtph264pay may cause alignment trap signal - - Tracker 1015 - Do not abort the decoder thread when codec reports an - error or bit error - - Tracker 1016 - playbin2 fixes - - Tracker 1018 - dmaivideosink: enable the resizer support - - Tracker 1020 - dmaivideosink: use GST_ELEMENT_ERROR instead of GST_ERROR - - Tracker 1067 - Fix liboil preprocessor checks - - Tracker 1068 - Change format of patches for dependent components to match - review process - - Tracker 1073 - Always return NULL for the base sink's last-buffer property - - Tracker 1088 - Remove --force-mem option when building libmad with -O2 - - Tracker 1090 - Add clean_dev and clean_docs makefile targets - - Tracker 1091 - Fix typos in error messages - - Tracker 1092 - Fix assertion failure in TIImgenc1 - - Tracker 1093 - Don't error out if DMAI_INSTALL_DIR is set by Rules.make. - - Tracker 1095 - Correct size metadata imgdec1->hInBuf prior to calling the - code c - - Tracker 1100 - Remove DM365 guard for NV12 fourcc check - - Tracker 1101 - Create source caps information for MPEG-2 streams in - TIVidenc1 - - Tracker 1102 - Add support for the DivX and XviD mime types in TIViddec2 - - Tracker 1103 - Add GST_TI_PLATFORM variable to replace previous usage of - PLATFORM - - Tracker 1113 - Corrected TI Copyright notices (replaced $year with proper - years) - - Tracker 1114 - DM365: Leave the IPIPE open during UYVY capture - - Tracker 1115 - Force the TIViddec2 frameRate property to override - upstream caps - - Tracker 1116 - Fix duration query in TIAuddec1 - - Tracker 1121 - Remove v4l2 patch that resets bytesperline to 0 - - Tracker 1122 - Correct the way source caps information is generated in - TIViddec2 - - Tracker 1123 - Add static declaration for gst_tidmaivideosink_process_caps - - Tracker 1124 - Remove GST_TIDMAIVIDEOSINK_CAST macro - - Tracker 1125 - Push all display initialization code into - gst_tidmaivideosink_init_display - - Tracker 1140 - Fix assertion failures when generating debug log - information - - Tracker 1141 - Declare all useMask _FREE flags in - gsttidmaibuffertransport.h - - Tracker 1159 - TIViddec1's resolution property should override caps - settings - - Tracker 1161 - Detect audio/mpeg, mpegversion=2 as AAC - - Tracker 1162 - Make sure capture buffer size is aligned on DM365 - - Tracker 1165 - Specify explicit pitch when allocating user buffers in - TIDmaiVideoSink - - Tracker 1172 - Fix race condition in GstTIDmaiBufTab - - Tracker 1189 - Use DMAI_INSTALL_DIR defined in DVSDK Rules.make - - Tracker 1190 - Export CROSS_COMPILE/PLATFORM_XDC environment variables - needed by cfg - - Tracker 1203 - Fix intermittent assertion failure in circular buffer Known Issues ------------ -Release 1.02: - - Tracker 1205 - Without kernel real-time patch, A/V decode on DM355 may - not play smoothly - - Tracker 1206 - On DM355, video decode to frame buffer is not a supported - configuration - - Tracker 1209 - Need to use YUV420P color space instead of UYVY when doing - JPEG encode - - Tracker 1220 - Specify the capture resolution to reduce memory - requirements - - Tracker 1222 - DM6467 doesn't support AAC encode - - Tracker 963 - MPEG4 decoding crashes - - Tracker 808 - [PATCH] Fix bug#798 - - Tracker 1204 - gsttidmaiperf CPU's workload issue solved for single core - platforms - - - -Release 1.01 -============ - -New Features ------------- - DM365 Support: - - Tracker 678 - Preliminary decode support. - - Tracker 918 - Capture support via v4l2src. - - Tracker 921 - Set TIDmaiVideoSink colorspace based on input buffer. - - Tracker 925 - Video encode support. - - Tracker 933 - Enhance video encoder to use hardware-accelerated frame - copy into circular buffer. - - Tracker 947 - General refinements to loadmodules.sh. - - Tracker 948 - Only adjust display buffer color space for non-DMAI input - buffers (refine tracker 921). - - Tracker 954 - Add new method for displaying frames multiple times without - additional frame copies. - - Tracker 955 - Adjustments to loadmodules.sh for H.264. - - DVSDK Support: - - Tracker 760 - Add support for DVSDK 2.00.00.22 on DM6446, DM355, and - DM6467. - - Tracker 824 - Add support for DVSDK 3.00.02.44 on OMAP35x. - - General: - - Tracker 700 - Plugin can be built with either libtool 1.5.x or 2.2.x. - - Tracker 714 - Make the configure --host argument configurable from the - "make". - - Tracker 773 - Upgrade open source software components to the latest - versions available on June 12th, 2009. - - Tracker 848 - Plugin can be configured to always load codec server from a - fixed location. - - Tracker 926 - Add support for xDM 1.x audio encoders. - - Tracker 941 - Add the "TIVidResize" element for resizing video. - - Tracker 953 - Add the "dmaiperf" DMAI-based performance data gathering - element. - - Tracker 956 - Only build open source packages that don't change once. - - Tracker 969 - Remove demo scripts from gstreamer_demo directory. Example - pipelines are now available at - http://wiki.davincidsp.com/index.php/Example_GStreamer_Pipelines - - -Fixed Issues ------------- - - Tracker 198 - GStremer 0.10.15 introduces a major performance degradation. - - Tracker 272 - Assertion while playing h264 elementry stream (fixed in - tracker 807). - - Tracker 309 - Decodebin and playbin not working. - - Tracker 496 - TIAuddec1 and TIViddec2 leaking memory during state - transition from PLAYING to NULL (fixed in tracker 745). - - Tracker 519 - TIAuddec1 and TIViddec2 leaking memory at EOS (fixed in - tracker 745). - - Tracker 716 - Destroy custom thread attribute object after we're done - using it. - - Tracker 717 - Fix TIAuddec memory leak. - - Tracker 744 - Fix free memory read during error check. - - Tracker 745 - Fix memory leak during the destruction of - TIDmaiBufferTransport. - - Tracker 770 - Assertions when playing back H.264 video (fixed in tracker - 807). - - Tracker 787 - Correct cmem output ownership waiting until fully released - before de-allocating them. - - Tracker 797 - Handle problematic downstream elements, like playbin that - don't unref sink buffers at EOS. - - Tracker 807 - If no NAL prefix code for h264 decode, then parse - codec_data to construct NAL header. - - Tracker 845 - TIViddec2 crashes when it on EOS after decode_thread stops - the codec. - - Tracker 912 - Remove the queue thread from all elements. This resolves - some potential issues on EOS. - - Tracker 913 - Guarantee that the input buffer is always unref'd by - creating single exit point in *_chain functions. - - Tracker 914 - Guarantee that the circular buffer will not be accessed - during shut-down. - - Tracker 915 - Since other threads may be checking the circular buffer - pointer, set the circular buffer pointer to NULL before - unref'ing it. - - Tracker 916 - When calling drain_pipeline, set drainingEOS to TRUE AFTER - the check for codec exists. - - Tracker 919 - Add error checking to circular buffer API's. - - Tracker 924 - Circular buffer allocation fix for TIAuddec and TIAuddec1. - - Tracker 929 - Replace GST_ERROR function with GST_ELEMENT_ERROR in all - elements. - - Tracker 934 - Work around DMAI 1.20.00.06 defect in non-accelerated frame - copy for YUV420PSEMI data. - - Tracker 940 - Enable hardware-accelerated frame copy when encoder is - receiving dmai transport buffer. - - Tracker 945 - Set parent_class in gst_tidmaivideosink_class_init(). - - Tracker 967 - Codec fails to initialize when encoding from a file with no - caps negotiation. - - Tracker 964 - Changes to remove queue thread caused memory leak with - packetized h.264 streams (refine tracker 912). - - Tracker 959 - AAC decoding crashes while running gst-launch pipeline. - - Tracker 957 - Fix printf formatting warnings that were causing build - failures. - - Tracker 958 - Improved clean target so it doesn't fail if the - configuration step hasn't been performed. - - Tracker 874 - Update codec table to add video encoder strings. - - Tracker 871 - v4l2src: Fix frame rate numerator and denominator values. - - Tracker 858 - Delete temporary buffer created in circular buffer during - video encode process. - - -Known Issues ------------- - -Release 1.01: - - Tighter memory constraints in OMAP35x may cause OOM killers in - some cases. See the README.TXT for information on modifying - bootarg settings to make more memory available to the system. - - If you don't have "gperf" installed on your system, it may manifest - as a mysterious run issue with libid3tag involving unresolved - symbols (something like "undefined symbol: id3_frametype_unknown"). - The gperf package that comes with RHEL 4.6 is sufficient, but you need - to make sure it is installed. - - The JPEG image elements support multiple color spaces. However, - not every codec supports every color space. If you specify a - color space that is not supported you will get an error message - indicating that the plugin failed to create the codec. Check - the codec user's guide to determine if your codec supports the - color spaces used for the input and output. - - If clip size is smaller and TIDmaiVideoSink element reports - "assertion" then try disabling hardware-accelerated frame-copies. This - can be disabled by specifying accelFrameCopy=FALSE for TIDmaiVideoSink. - Note: disabling hardware-accelerated frame-copies will affect - performance. - - Tracker 972 - AVI video playback crash in VGA video standard. - When playing an AVI file with VGA video standard, it plays ok - the first time it runs, the second time it crashes. - - The plugin will not build on DM357 unless you upgrade the version of - DMAI in DVSDK 2.05 to DMAI 1.20.00.06. More information is available - in the README.TXT. - - -Trackers unresolved for release 1.01 scheduled for next release - - - Tracker 970 - dmai-perf inaccuracy in fps and bps calculation. - - Tracker 966 - Update open-source base components. - - Tracker 903 - DMAI video encoder support refactor. - - Tracker 867 - Improve video encoders timestamp handling. - - Tracker 532 - Buffers used during for decoding uses fixed sizes buffers. - - Tracker 881 - Changing the video Output to use from LCD to DVI crashes - the system. - - -Trackers for defects in other non-plugin software components - - - Tracker 965 - Building gst-plugins-good-0.10.15 with X11 development - headers installed on host machine fails. - - Tracker 968 - 1: command not found when building DM357 DVSDK. - - Tracker 930 - gstticodecplugin should fail to initialize if - CERuntime_init() fails. - - -Trackers unresolved for release 1.01 - - - Tracker 974 - Video playback freezes with H264 and MPEG2 (1080i test) - - Tracker 971 - Video playback freezes - - Tracker 963 - MPEG4 decoding crashes - - Tracker 962 - Blockiness on encoded image - - Tracker 960 - MP4 decoding crashes when using accelerated frame copy - - Tracker 893 - TIViddec2 buffer processing thread takes about one minute - before invoking the decoder thread - - Tracker 883 - If GStreamer is killed forcibly, the process becomes a - zombie in DVSDK 3.00.00.40 - - Tracker 870 - BUG: TIViddec2 crashes on transition from PLAYING to NULL - during playback - - Tracker 194 - Figure out why open source AVI demuxer crashes on really - large clips - - Tracker 200 - GLib 2.14.1 introduces code that crashes DM6446 - - Tracker 250 - about playback stalls problem during playing - - Tracker 274 - H.264 Quality with TIViddec2 is poor on DM6467 - - Tracker 342 - Lip Sync missing in Audio and Video - - Tracker 498 - TIDmaiVideoSink fails if DISPLAY_WIDTH - VIDEO_WIDTH is not - a multiple of 32 - - Tracker 521 - TIViddec2 / TIAuddec1 audio / video get out of sync after - long MP4 playback - - Tracker 523 - Can not play back captured H264 stored in MP4 with common - players - - Tracker 525 - H264 encoded AVI file doesn't play on common players - - Tracker 677 - Multiple Pipelines - - Tracker 484 - Patches to support MP4/H.264/AAC encode on OMAP3 platform - { PSP 1.0.2/DVSDK 3.00.00.29} - - Tracker 808 - [PATCH] Fix bug#798 - - Tracker 196 - Remove #if defined(Platform_omap3530) preprocessor macros - from display sink - - Tracker 267 - Analyze memory usage on all platforms and define reasonable - default CMEM pools. - - Tracker 412 - Provide benchmarking numbers with the GStreamer release - - Tracker 457 - Add support for contiguous input buffers to image encoders - - Tracker 505 - Create one codec combo for encode and decode - - Tracker 840 - MPEG4(AAC) audio stream not played by aachedec. Is played - properly with libfaad - - - - -Release 1.00 -============ - - -New Features ------------- - - Added support for video encoding elements TIVidenc and TIVidenc1. - These elements support the DM355, DM6446, DM357, DM367 and - OMAP35x devices. - - Patches for v4l2src element in the GST good plugin collection - - Patch 503 Support decodebin and playbin - - -Fixed Issues ------------- - - Patch 499 Fix memory leak during Fifo flush - - Patch 506 Fix data type mismatch int / bool for resizer and - autoselect properties in TIDmaiVideoSink - - Bug 303 Playback of audio and video increments VmallocUsed - - Bug 389 Memory leak in gsttividdec.c and gsttiauddec.c - (and probably others) - - Bug 707 Decode of mp4 file plays back with skips - - -Known Issues ------------- - - Video encode is not supported on DM6467. DM6467 requires DMAI - version at least 1.20.00.06 which is meant to be used with - DVSDK 2.00. Official support for video encoding on DM6467 - will be added when DVSDK 2.00 is released. For customer that - already have DVSDK 2.00 you can upgrade the DMAI version in - order to use the video encoder. - - If you don't have "gperf" installed on your system, it may manifest - as a mysterious run issue with libid3tag involving unresolved - symbols. The gperf package that comes with RHEL 4.6 is sufficient, - but you need to make sure it is installed. - - The JPEG image elements support multiple color spaces. However, - not every codec supports every color space. If you specify a - color space that is not supported you will get an error message - indicating that the plugin failed to create the codec. Check - the codec user's guide to determine if your codec supports the - color spaces used for the input and output. - - If clip size is smaller and dmaivideosink element reports - "assertion" then try disabling hw accelerated framecopy. This can - be disabled with -c option in scripts. Note: disabling hw accel - framecopy will affect performance. - - H264 encoded video from TIVidenc works with VLC if it has a - file extension of .264. In the 1.00.00 release, it was - incorrectly stated there was a problem playing H264 files - with VLC. diff --git a/gstreamer_ti_dm81xx/gstreamer_demo/dm814x/example_pipeline.sh b/gstreamer_ti_dm81xx/gstreamer_demo/dm814x/example_pipeline.sh index ce1a6c5..2868b26 100644 --- a/gstreamer_ti_dm81xx/gstreamer_demo/dm814x/example_pipeline.sh +++ b/gstreamer_ti_dm81xx/gstreamer_demo/dm814x/example_pipeline.sh @@ -8,10 +8,13 @@ export PATH=/opt/gstreamer/bin:$PATH export GST_PLUGIN_SCANNER=/opt/gstreamer/libexec/gstreamer-0.10/gst-plugin-scanner # pipeline decode elemenatry H.264 stream -gst-launch filesrc location=sample.264 ! typefind ! h264parse access-unit=true ! omx_h264dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf ! omx_videosink sync=false -v +gst-launch -v filesrc location=sample.264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false -# pipeline to decode MP4 container (H.264 + AAC). Note that currently AV is disabled. -gst-launch -v filesrc location=sample.mp4 ! qtdemux name=demux demux.audio_00 ! queue max-size-buffers=8000 max-size-time=0 max-size-bytes=0 ! faad ! alsasink sync=false demux.video_00 ! queue ! nal2bytestream_h264 ! omx_h264dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf ! omx_videosink sync=false +# pipeline to decode MP4 container (H.264 + AAC) +gst-launch filesrc location="sample.mp4" ! qtdemux name=demux demux.audio_00 ! queue ! faad ! alsasink demux.video_00 ! queue ! nal2bytestream_h264 ! omx_h264dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink + +# pipeline to decode H.264 video streamed over RTSP/RTP +gst-launch rtspsrc location=rtsp://172.24.190.113:8557/PSIA/Streaming/channels/2?videoCodecType=H.264 ! rtph264depay ! h264parse access-unit=true ! omx_h264dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false # pipeline to display the videotest pattern using omx sink gst-launch -v videotestsrc ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false @@ -31,3 +34,21 @@ gst-launch -v videotestsrc num-buffers=1000 ! omx_h264enc ! filesink location=sa # play mp4 using playbin2 gst-launch playbin2 uri=file:///home/root/sample.mp4 -v +# play mpeg2 ts file with MPEG-2 HD video and AC3 audio (progressive content) +gst-launch -v filesrc location=sample.ts typefind=true ! ffdemux_mpegts name=demux demux.video_00 ! queue ! mpegvideoparse ! omx_mpeg2dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf ! omx_videosink demux.audio_00 ! queue ! ffdec_ac3 ! alsasink + +# play mpeg2 ts file with MPEG-2 HD video and AC3 audio (interlaced content) +gst-launch -v filesrc location=sample.ts typefind=true ! ffdemux_mpegts name=demux demux.audio_00 ! queue ! ffdec_ac3 ! alsasink demux.video_00 ! queue ! mpegvideoparse ! omx_mpeg2dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080I_60 ! gstperf ! omx_videosink display-mode=OMX_DC_MODE_1080I_60 + +# play DVD video (VOB) ts file with MPEG-2 video and MPEG1-L2 audio (interlaced content) +gst-launch -v filesrc location=sample.VOB typefind=true ! ffdemux_mpeg name=demux demux.video_00 ! mpegvideoparse ! omx_mpeg2dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080I_60 ! gstperf ! omx_videosink display-mode=OMX_DC_MODE_1080I_60 demux.audio_00 ! ffdec_mp3 ! alsasink + +# play MPEG-2 elementary stream using V4L2 sink +gst-launch -v filesrc location=sample.m2v typefind=true ! mpegvideoparse ! omx_mpeg2dec ! omx_scaler ! v4l2sink + +# Mosaic 4 decoded H.264 elementary streams from file input, each of 1280x720 size, into one video output stream of 1270x720 size +gst-launch omx_videomixer port-index=0 name=mix ! v4l2sink userpointer=true filesrc location=sample_1.h264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! mix. filesrc location=sample_2.h264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! mix. filesrc location=sample_3.h264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! mix. filesrc location=sample_4.h264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! mix. + +# Mosaic 4 decoded H.264 elementary streams from a RTP streaming source, each of 1280x720 size, into one video output stream of 1270x720 size +gst-launch omx_videomixer port-index=0 name=mix ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf ! omx_videosink sync=false rtspsrc location=rtsp://172.24.137.15:5554/Test ! rtph264depay ! h264parse access-unit=true ! omx_h264dec ! mix. rtspsrc location=rtsp://172.24.137.15:5554/Test1 ! rtph264depay ! h264parse access-unit=true ! omx_h264dec ! mix. rtspsrc location=rtsp://172.24.137.15:5554/Test2 ! rtph264depay ! h264parse access-unit=true ! omx_h264dec ! mix. rtspsrc location=rtsp://172.24.137.15:5554/Test3 ! rtph264depay ! h264parse access-unit=true ! omx_h264dec ! mix. + diff --git a/gstreamer_ti_dm81xx/gstreamer_demo/dm816x/example_pipeline.sh b/gstreamer_ti_dm81xx/gstreamer_demo/dm816x/example_pipeline.sh index ce1a6c5..2868b26 100644 --- a/gstreamer_ti_dm81xx/gstreamer_demo/dm816x/example_pipeline.sh +++ b/gstreamer_ti_dm81xx/gstreamer_demo/dm816x/example_pipeline.sh @@ -8,10 +8,13 @@ export PATH=/opt/gstreamer/bin:$PATH export GST_PLUGIN_SCANNER=/opt/gstreamer/libexec/gstreamer-0.10/gst-plugin-scanner # pipeline decode elemenatry H.264 stream -gst-launch filesrc location=sample.264 ! typefind ! h264parse access-unit=true ! omx_h264dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf ! omx_videosink sync=false -v +gst-launch -v filesrc location=sample.264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false -# pipeline to decode MP4 container (H.264 + AAC). Note that currently AV is disabled. -gst-launch -v filesrc location=sample.mp4 ! qtdemux name=demux demux.audio_00 ! queue max-size-buffers=8000 max-size-time=0 max-size-bytes=0 ! faad ! alsasink sync=false demux.video_00 ! queue ! nal2bytestream_h264 ! omx_h264dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf ! omx_videosink sync=false +# pipeline to decode MP4 container (H.264 + AAC) +gst-launch filesrc location="sample.mp4" ! qtdemux name=demux demux.audio_00 ! queue ! faad ! alsasink demux.video_00 ! queue ! nal2bytestream_h264 ! omx_h264dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink + +# pipeline to decode H.264 video streamed over RTSP/RTP +gst-launch rtspsrc location=rtsp://172.24.190.113:8557/PSIA/Streaming/channels/2?videoCodecType=H.264 ! rtph264depay ! h264parse access-unit=true ! omx_h264dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false # pipeline to display the videotest pattern using omx sink gst-launch -v videotestsrc ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false @@ -31,3 +34,21 @@ gst-launch -v videotestsrc num-buffers=1000 ! omx_h264enc ! filesink location=sa # play mp4 using playbin2 gst-launch playbin2 uri=file:///home/root/sample.mp4 -v +# play mpeg2 ts file with MPEG-2 HD video and AC3 audio (progressive content) +gst-launch -v filesrc location=sample.ts typefind=true ! ffdemux_mpegts name=demux demux.video_00 ! queue ! mpegvideoparse ! omx_mpeg2dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf ! omx_videosink demux.audio_00 ! queue ! ffdec_ac3 ! alsasink + +# play mpeg2 ts file with MPEG-2 HD video and AC3 audio (interlaced content) +gst-launch -v filesrc location=sample.ts typefind=true ! ffdemux_mpegts name=demux demux.audio_00 ! queue ! ffdec_ac3 ! alsasink demux.video_00 ! queue ! mpegvideoparse ! omx_mpeg2dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080I_60 ! gstperf ! omx_videosink display-mode=OMX_DC_MODE_1080I_60 + +# play DVD video (VOB) ts file with MPEG-2 video and MPEG1-L2 audio (interlaced content) +gst-launch -v filesrc location=sample.VOB typefind=true ! ffdemux_mpeg name=demux demux.video_00 ! mpegvideoparse ! omx_mpeg2dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080I_60 ! gstperf ! omx_videosink display-mode=OMX_DC_MODE_1080I_60 demux.audio_00 ! ffdec_mp3 ! alsasink + +# play MPEG-2 elementary stream using V4L2 sink +gst-launch -v filesrc location=sample.m2v typefind=true ! mpegvideoparse ! omx_mpeg2dec ! omx_scaler ! v4l2sink + +# Mosaic 4 decoded H.264 elementary streams from file input, each of 1280x720 size, into one video output stream of 1270x720 size +gst-launch omx_videomixer port-index=0 name=mix ! v4l2sink userpointer=true filesrc location=sample_1.h264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! mix. filesrc location=sample_2.h264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! mix. filesrc location=sample_3.h264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! mix. filesrc location=sample_4.h264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! mix. + +# Mosaic 4 decoded H.264 elementary streams from a RTP streaming source, each of 1280x720 size, into one video output stream of 1270x720 size +gst-launch omx_videomixer port-index=0 name=mix ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! gstperf ! omx_videosink sync=false rtspsrc location=rtsp://172.24.137.15:5554/Test ! rtph264depay ! h264parse access-unit=true ! omx_h264dec ! mix. rtspsrc location=rtsp://172.24.137.15:5554/Test1 ! rtph264depay ! h264parse access-unit=true ! omx_h264dec ! mix. rtspsrc location=rtsp://172.24.137.15:5554/Test2 ! rtph264depay ! h264parse access-unit=true ! omx_h264dec ! mix. rtspsrc location=rtsp://172.24.137.15:5554/Test3 ! rtph264depay ! h264parse access-unit=true ! omx_h264dec ! mix. + |