<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0"></p>
<div>Hi all,</div>
<div><br>
</div>
<div>I'm trying to play multiple 4k video successively using Gstreamer on tx2, therefore, my first step is to make sure playing one 4k video works, so I try this line from the gstreamer manual: [code]gst-launch-1.0 filesrc location=rhino-4k.mp4 ! qtdemux name=demux
demux. ! queue ! h264parse ! omxh264dec ! nveglglessink[/code] and it works like a charm!</div>
<div><br>
</div>
<div>However, I'm not able to play the 4k video using playbin: [code]gst-launch-1.0 playbin uri=file:///home/nvidia/workspace/gstreamer-try/rhino-4k.mp4[/code]</div>
<div>. It shows nothing but all the red stuff on the monitor and the log is like this:</div>
<div><br>
</div>
<div>[code]</div>
<div>Setting pipeline to PAUSED ...</div>
<div>Pipeline is PREROLLING ...</div>
<div>NvMMLiteOpen : Block : BlockType = 261 </div>
<div>TVMR: NvMMLiteTVMRDecBlockOpen: 7907: NvMMLiteBlockOpen </div>
<div>NvMMLiteBlockCreate : Block : BlockType = 261 </div>
<div>TVMR: cbBeginSequence: 1223: BeginSequence 3840x2160, bVPR = 0</div>
<div>TVMR: LowCorner Frequency = 345000 </div>
<div>TVMR: cbBeginSequence: 1622: DecodeBuffers = 3, pnvsi->eCodec = 4, codec = 0 </div>
<div>TVMR: cbBeginSequence: 1693: Display Resolution : (3840x2160) </div>
<div>TVMR: cbBeginSequence: 1694: Display Aspect Ratio : (3840x2160) </div>
<div>TVMR: cbBeginSequence: 1762: ColorFormat : 5 </div>
<div>TVMR: cbBeginSequence:1773 ColorSpace = NvColorSpace_YCbCr709</div>
<div>TVMR: cbBeginSequence: 1904: SurfaceLayout = 3</div>
<div>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</div>
<div>TVMR: cbBeginSequence: 2007: BeginSequence ColorPrimaries = 1, TransferCharacteristics = 1, MatrixCoefficients = 1</div>
<div>Allocating new output: 3840x2160 (x 10), ThumbnailMode = 0</div>
<div>OPENMAX: HandleNewStreamFormat: 3464: Send OMX_EventPortSettingsChanged : nFrameWidth = 3840, nFrameHeight = 2160 </div>
<div><br>
</div>
<div>(gst-launch-1.0:3595): GStreamer-CRITICAL **: Registering meta implementation 'GstVideoMeta' without init function</div>
<div>Pipeline is PREROLLED ...</div>
<div>Setting pipeline to PLAYING ...</div>
<div>New clock: GstSystemClock</div>
<div>TVMR: FrameRate = 30 </div>
<div>TVMR: NVDEC LowCorner Freq = (345000 * 1024) </div>
<div>^Chandling interrupt.</div>
<div>Interrupt: Stopping pipeline ...</div>
<div>Execution ended after 0:00:00.903358148</div>
<div>Setting pipeline to PAUSED ...</div>
<div>Setting pipeline to READY ...</div>
<div>Caught SIGSEGV</div>
<div>#0 syscall () at ../sysdeps/unix/sysv/linux/aarch64/syscall.S:38</div>
<div>#1 0x0000007f932d3094 in g_cond_wait_until ()</div>
<div>#2 0x0000007f906b9be4 in ?? ()</div>
<div>#3 0x0000007f906c4468 in ?? ()</div>
<div>#4 0x0000007f906c5e48 in ?? ()</div>
<div>#5 0x0000007f934054e8 in gst_element_change_state (</div>
<div>#6 0x0000007f93405c80 in gst_element_set_state_func (element=0x7f7c041da0, </div>
<div>#7 0x0000007f933dfa94 in gst_bin_element_set_state (next=GST_STATE_READY, </div>
<div>#8 gst_bin_change_state_func (element=0x626190, transition=<optimized out>)</div>
<div>#9 0x0000007f92c480e8 in ?? ()</div>
<div>#10 0x000000000000001a in ?? ()</div>
<div>Spinning. Please run 'gdb gst-launch-1.0 3595' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.</div>
<div>[/code]</div>
<div><br>
</div>
<div><br>
</div>
<div>And then I try to use playbin to play a 2k video, which works (playing the video smoothly) but still has segfault message like this:</div>
<div><br>
</div>
<div>[code]</div>
<div>Setting pipeline to PAUSED ...</div>
<div>Pipeline is PREROLLING ...</div>
<div>NvMMLiteOpen : Block : BlockType = 261 </div>
<div>TVMR: NvMMLiteTVMRDecBlockOpen: 7907: NvMMLiteBlockOpen </div>
<div>NvMMLiteBlockCreate : Block : BlockType = 261 </div>
<div>TVMR: cbBeginSequence: 1223: BeginSequence 2560x1440, bVPR = 0</div>
<div>TVMR: LowCorner Frequency = 345000 </div>
<div>TVMR: cbBeginSequence: 1622: DecodeBuffers = 3, pnvsi->eCodec = 4, codec = 0 </div>
<div>TVMR: cbBeginSequence: 1693: Display Resolution : (2560x1440) </div>
<div>TVMR: cbBeginSequence: 1694: Display Aspect Ratio : (2560x1440) </div>
<div>TVMR: cbBeginSequence: 1762: ColorFormat : 5 </div>
<div>TVMR: cbBeginSequence:1773 ColorSpace = NvColorSpace_YCbCr709</div>
<div>TVMR: cbBeginSequence: 1904: SurfaceLayout = 3</div>
<div>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</div>
<div>TVMR: cbBeginSequence: 2007: BeginSequence ColorPrimaries = 1, TransferCharacteristics = 1, MatrixCoefficients = 1</div>
<div>Allocating new output: 2560x1440 (x 10), ThumbnailMode = 0</div>
<div>OPENMAX: HandleNewStreamFormat: 3464: Send OMX_EventPortSettingsChanged : nFrameWidth = 2560, nFrameHeight = 1440 </div>
<div><br>
</div>
<div>(gst-launch-1.0:4118): GStreamer-CRITICAL **: Registering meta implementation 'GstVideoMeta' without init function</div>
<div>Pipeline is PREROLLED ...</div>
<div>Setting pipeline to PLAYING ...</div>
<div>New clock: GstSystemClock</div>
<div>TVMR: FrameRate = 30 </div>
<div>TVMR: NVDEC LowCorner Freq = (345000 * 1024) </div>
<div><br>
</div>
<div>^Chandling interrupt.</div>
<div>Interrupt: Stopping pipeline ...</div>
<div>Execution ended after 0:00:03.263713307</div>
<div>Setting pipeline to PAUSED ...</div>
<div>Setting pipeline to READY ...</div>
<div>Caught SIGSEGV</div>
<div>#0 syscall () at ../sysdeps/unix/sysv/linux/aarch64/syscall.S:38</div>
<div>#1 0x0000007f92f46094 in g_cond_wait_until ()</div>
<div>#2 0x0000007f9036ebe4 in ?? ()</div>
<div>#3 0x0000007f90379468 in ?? ()</div>
<div>#4 0x0000007f9037ae48 in ?? ()</div>
<div>#5 0x0000007f930784e8 in gst_element_change_state (</div>
<div>#6 0x0000007f93078c80 in gst_element_set_state_func (element=0x7f7c041da0, </div>
<div>#7 0x0000007f93052a94 in gst_bin_element_set_state (next=GST_STATE_READY, </div>
<div>#8 gst_bin_change_state_func (element=0x626190, transition=<optimized out>)</div>
<div>#9 0x0000007f928bb0e8 in ?? ()</div>
<div>#10 0x000000000000001a in ?? ()</div>
<div>Spinning. Please run 'gdb gst-launch-1.0 4118' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.</div>
<div>[/code]</div>
<div><br>
</div>
<div><br>
</div>
<div>My video is downloaded using youtube-dl on youtube: https://www.youtube.com/watch?v=7IWp875pCxQ </div>
<div><br>
</div>
<div>using this command for 4k video: [code]youtube-dl -f 266 <the url>[/code]</div>
<div><br>
</div>
<div><br>
</div>
<div>and downloading 2k via: [code]youtube-dl -f 264 <the url>[/code]</div>
<div><br>
</div>
<div>The reason I'm trying to use the playbin plugin is because I want to use the "about-to-finish" signal to play multiple videos gaplessly. So it's also great if anyone can give me a hint on how to implement this feature via customized pipeline. My pipeline
code could be found here: [url]https://gist.github.com/chichunchen/6b06130e10b32df04f461729038634e7[/url]</div>
<div><br>
</div>
<div><br>
</div>
<div>Thanks!</div>
<br>
<p></p>
</div>
</body>
</html>