Usage of tee to split encoder output

pchaurasia pchaurasia at gameloreinc.com
Wed Sep 20 12:06:48 UTC 2017


Hi Nicolas
Thanks for your help. After fixing the cmd line per your suggestion - I
think I am almost there. Following is my command line 
-

gst-launch-1.0 nvcamerasrc fpsRange="30.0 30.0" ! 'video/x-raw(memory:NVMM),
width=(int)1920, height=(int)1080, format=(string)I420,
framerate=(fraction)30/1' ! omxh265enc bitrate=3000000 ! h265parse !
matroskamux name=mux ! tee name=t ! queue ! filesink location=test_file.mkv
async=0 t. !  matroskademux name=demux.video_0  !  h265parse ! omxh265dec !
nveglglessink -e


I do see that decoder  throws two or three frames on screen after which the
pipeline seem to choke with following messages. I should mention, that I am
using nvidia specific plugins and I am asking them same question, but I
think it wouldn't hurt to ask you, as well..

Setting pipeline to PAUSED ...

Available Sensor modes : 
3864 x 2174 FR=60.000000 CF=0x1009208a10 SensorModeType=4
CSIPixelBitDepth=10 DynPixelBitDepth=10
Pipeline is live and does not need PREROLL ...
Got context from element 'eglglessink0': gst.egl.EGLDisplay=context,
display=(GstEGLDisplay)NULL;

NvCameraSrc: Trying To Set Default Camera Resolution. Selected
sensorModeIndex = 0 WxH = 3864x2174 FrameRate = 60.000000 ...

Setting pipeline to PLAYING ...
New clock: GstSystemClock
Framerate set to : 30 at NvxVideoEncoderSetParameterNvMMLiteOpen : Block :
BlockType = 8 
===== MSENC =====
NvMMLiteBlockCreate : Block : BlockType = 8 
===== NVENC blits (mode: 1) into block linear surfaces =====
NvMMLiteOpen : Block : BlockType = 279 
TVMR: NvMMLiteTVMRDecBlockOpen: 7907: NvMMLiteBlockOpen 
NvMMLiteBlockCreate : Block : BlockType = 279 
TVMR: cbBeginSequence: 1223: BeginSequence  1920x1088, bVPR = 0
TVMR: LowCorner Frequency = 180000 
TVMR: cbBeginSequence: 1622: DecodeBuffers = 3, pnvsi->eCodec = 10, codec =
9 
TVMR: cbBeginSequence: 1693: Display Resolution : (1920x1080) 
TVMR: cbBeginSequence: 1694: Display Aspect Ratio : (1920x1080) 
TVMR: cbBeginSequence: 1762: ColorFormat : 5 
TVMR: cbBeginSequence:1776 ColorSpace = NvColorSpace_YCbCr601
TVMR: cbBeginSequence: 1904: SurfaceLayout = 3
TVMR: cbBeginSequence: 2005: NumOfSurfaces = 10, InteraceStream = 0,
InterlaceEnabled = 0, bSecure = 0, MVC = 0 Semiplanar = 1, bReinit = 1,
BitDepthForSurface = 8 LumaBitDepth = 8, ChromaBitDepth = 8, ChromaFormat =
5
TVMR: cbBeginSequence: 2007: BeginSequence  ColorPrimaries = 2,
TransferCharacteristics = 2, MatrixCoefficients = 2
Allocating new output: 1920x1088 (x 10), ThumbnailMode = 0
OPENMAX: HandleNewStreamFormat: 3464: Send OMX_EventPortSettingsChanged :
nFrameWidth = 1920, nFrameHeight = 1088 
TVMR: FrameRate = 1000 
TVMR: NVDEC LowCorner Freq = (576000 * 1024) 
ERROR: from element
/GstPipeline:pipeline0/GstOMXH265Enc-omxh265enc:omxh265enc-omxh265enc0:
Internal data stream error.
Additional debug info:
/dvs/git/dirty/git-master_linux/external/gstreamer/gst-omx/omx/gstomxvideoenc.c(1351):
gst_omx_video_enc_loop ():
/GstPipeline:pipeline0/GstOMXH265Enc-omxh265enc:omxh265enc-omxh265enc0:
stream stopped, reason error
EOS on shutdown enabled -- waiting for EOS after Error
TVMR: NvMMLiteTVMRDecDoWork: 6768: NVMMLITE_TVMR: EOS detected
Waiting for EOS...
TVMR: TVMRBufferProcessing: 5723: Processing of EOS 
TVMR: TVMRBufferProcessing: 5800: Processing of EOS Done
Got EOS from element "pipeline0".
EOS received - stopping pipeline...
Execution ended after 0:00:01.870566352
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
TVMR: TVMRFrameStatusReporting: 6369: Closing TVMR Frame Status Thread
-------------
TVMR: TVMRVPRFloorSizeSettingThread: 6179: Closing
TVMRVPRFloorSizeSettingThread -------------
TVMR: TVMRFrameDelivery: 6219: Closing TVMR Frame Delivery Thread
-------------
TVMR: NvMMLiteTVMRDecBlockClose: 8105: Done 
Setting pipeline to NULL ...
Freeing pipeline ...




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list