The playbin plugin is not able to play 4k video on Jetson TX2

Chen, Chi Chun cchen120 at ur.rochester.edu
Mon Jul 23 19:21:59 UTC 2018


Hi all,

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!

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]
. It shows nothing but all the red stuff on the monitor and the log is like this:

[code]
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
NvMMLiteOpen : Block : BlockType = 261
TVMR: NvMMLiteTVMRDecBlockOpen: 7907: NvMMLiteBlockOpen
NvMMLiteBlockCreate : Block : BlockType = 261
TVMR: cbBeginSequence: 1223: BeginSequence  3840x2160, bVPR = 0
TVMR: LowCorner Frequency = 345000
TVMR: cbBeginSequence: 1622: DecodeBuffers = 3, pnvsi->eCodec = 4, codec = 0
TVMR: cbBeginSequence: 1693: Display Resolution : (3840x2160)
TVMR: cbBeginSequence: 1694: Display Aspect Ratio : (3840x2160)
TVMR: cbBeginSequence: 1762: ColorFormat : 5
TVMR: cbBeginSequence:1773 ColorSpace = NvColorSpace_YCbCr709
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 = 1, TransferCharacteristics = 1, MatrixCoefficients = 1
Allocating new output: 3840x2160 (x 10), ThumbnailMode = 0
OPENMAX: HandleNewStreamFormat: 3464: Send OMX_EventPortSettingsChanged : nFrameWidth = 3840, nFrameHeight = 2160

(gst-launch-1.0:3595): GStreamer-CRITICAL **: Registering meta implementation 'GstVideoMeta' without init function
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
TVMR: FrameRate = 30
TVMR: NVDEC LowCorner Freq = (345000 * 1024)
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:00.903358148
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Caught SIGSEGV
#0  syscall () at ../sysdeps/unix/sysv/linux/aarch64/syscall.S:38
#1  0x0000007f932d3094 in g_cond_wait_until ()
#2  0x0000007f906b9be4 in ?? ()
#3  0x0000007f906c4468 in ?? ()
#4  0x0000007f906c5e48 in ?? ()
#5  0x0000007f934054e8 in gst_element_change_state (
#6  0x0000007f93405c80 in gst_element_set_state_func (element=0x7f7c041da0,
#7  0x0000007f933dfa94 in gst_bin_element_set_state (next=GST_STATE_READY,
#8  gst_bin_change_state_func (element=0x626190, transition=<optimized out>)
#9  0x0000007f92c480e8 in ?? ()
#10 0x000000000000001a in ?? ()
Spinning.  Please run 'gdb gst-launch-1.0 3595' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
[/code]


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:

[code]
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
NvMMLiteOpen : Block : BlockType = 261
TVMR: NvMMLiteTVMRDecBlockOpen: 7907: NvMMLiteBlockOpen
NvMMLiteBlockCreate : Block : BlockType = 261
TVMR: cbBeginSequence: 1223: BeginSequence  2560x1440, bVPR = 0
TVMR: LowCorner Frequency = 345000
TVMR: cbBeginSequence: 1622: DecodeBuffers = 3, pnvsi->eCodec = 4, codec = 0
TVMR: cbBeginSequence: 1693: Display Resolution : (2560x1440)
TVMR: cbBeginSequence: 1694: Display Aspect Ratio : (2560x1440)
TVMR: cbBeginSequence: 1762: ColorFormat : 5
TVMR: cbBeginSequence:1773 ColorSpace = NvColorSpace_YCbCr709
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 = 1, TransferCharacteristics = 1, MatrixCoefficients = 1
Allocating new output: 2560x1440 (x 10), ThumbnailMode = 0
OPENMAX: HandleNewStreamFormat: 3464: Send OMX_EventPortSettingsChanged : nFrameWidth = 2560, nFrameHeight = 1440

(gst-launch-1.0:4118): GStreamer-CRITICAL **: Registering meta implementation 'GstVideoMeta' without init function
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
TVMR: FrameRate = 30
TVMR: NVDEC LowCorner Freq = (345000 * 1024)

^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:03.263713307
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Caught SIGSEGV
#0  syscall () at ../sysdeps/unix/sysv/linux/aarch64/syscall.S:38
#1  0x0000007f92f46094 in g_cond_wait_until ()
#2  0x0000007f9036ebe4 in ?? ()
#3  0x0000007f90379468 in ?? ()
#4  0x0000007f9037ae48 in ?? ()
#5  0x0000007f930784e8 in gst_element_change_state (
#6  0x0000007f93078c80 in gst_element_set_state_func (element=0x7f7c041da0,
#7  0x0000007f93052a94 in gst_bin_element_set_state (next=GST_STATE_READY,
#8  gst_bin_change_state_func (element=0x626190, transition=<optimized out>)
#9  0x0000007f928bb0e8 in ?? ()
#10 0x000000000000001a in ?? ()
Spinning.  Please run 'gdb gst-launch-1.0 4118' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
[/code]


My video is downloaded using youtube-dl on youtube: https://www.youtube.com/watch?v=7IWp875pCxQ

using this command for 4k video: [code]youtube-dl -f 266 <the url>[/code]


and downloading 2k via: [code]youtube-dl -f 264 <the url>[/code]

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]


Thanks!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180723/10feaa5d/attachment-0001.html>


More information about the gstreamer-devel mailing list