gstreamer播放失败
-
首先我用这个命令测试fb 是正常的
gst-launch-1.0 videotestsrc ! fbdevsink然后我用tplayerdemo 播放文件bad_apple.mp4 是正常的
GST_DEBUG=4 gst-launch-1.0 filesrc location=bad_apple.mp4 ! qtdemux ! avdec_h264 ! videoconvert ! fbdevsink
失败报错 此时黑屏
<videoconvert0:src> Received event on flushing pad. Discarding Setting pipeline to PAUSED ... 0:00:01.132281626 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<fbdevsink0> current NULL pending VOID_PENDING, desired next READY 0:00:01.132673459 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<fbdevsink0> completed state change to READY 0:00:01.132808751 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<fbdevsink0> notifying about state-changed NULL to READY (VOID_PENDING pending) 0:00:01.133028001 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'fbdevsink0' changed state to 2(READY) successfully 0:00:01.133198793 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<videoconvert0> current NULL pending VOID_PENDING, desired next READY 0:00:01.133330334 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<videoconvert0> completed state change to READY 0:00:01.133447918 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<videoconvert0> notifying about state-changed NULL to READY (VOID_PENDING pending) 0:00:01.133621918 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'videoconvert0' changed state to 2(READY) successfully 0:00:01.133947918 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<avdec_h264-0> current NULL pending VOID_PENDING, desired next READY 0:00:01.134086251 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<avdec_h264-0> completed state change to READY 0:00:01.134205376 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<avdec_h264-0> notifying about state-changed NULL to READY (VOID_PENDING pending) 0:00:01.134383126 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'avdec_h264-0' changed state to 2(READY) successfully 0:00:01.134554668 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<qtdemux0> current NULL pending VOID_PENDING, desired next READY 0:00:01.134686709 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<qtdemux0> completed state change to READY 0:00:01.134802793 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<qtdemux0> notifying about state-changed NULL to READY (VOID_PENDING pending) 0:00:01.135003459 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'qtdemux0' changed state to 2(READY) successfully 0:00:01.467842918 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<filesrc0> current NULL pending VOID_PENDING, desired next READY 0:00:01.467982376 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<filesrc0> completed state change to READY 0:00:01.468101251 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<filesrc0> notifying about state-changed NULL to READY (VOID_PENDING pending) 0:00:01.468282459 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'filesrc0' changed state to 2(READY) successfully 0:00:01.468441793 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2664:gst_element_continue_state:<pipeline0> committing state from NULL to READY, pending PAUSED, next PAUSED 0:00:01.468607084 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<pipeline0> notifying about state-changed NULL to READY (PAUSED pending) 0:00:01.468880959 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2671:gst_element_continue_state:<pipeline0> continue state change READY to PAUSED, final PAUSED 0:00:01.469105168 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<fbdevsink0> current READY pending VOID_PENDING, desired next PAUSED 0:00:01.469384543 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2961:gst_bin_change_state_func:<pipeline0> child 'fbdevsink0' is changing state asynchronously to PAUSED 0:00:01.469556959 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<videoconvert0> current READY pending VOID_PENDING, desired next PAUSED 0:00:01.469743459 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<videoconvert0> completed state change to PAUSED 0:00:01.469867918 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<videoconvert0> notifying about state-changed READY to PAUSED (VOID_PENDING pending) 0:00:01.470042876 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'videoconvert0' changed state to 3(PAUSED) successfully 0:00:01.470197834 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<avdec_h264-0> current READY pending VOID_PENDING, desired next PAUSED 0:00:01.470547043 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<avdec_h264-0> completed state change to PAUSED 0:00:01.470679084 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<avdec_h264-0> notifying about state-changed READY to PAUSED (VOID_PENDING pending) 0:00:01.470857501 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'avdec_h264-0' changed state to 3(PAUSED) successfully 0:00:01.471025918 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<qtdemux0> current READY pending VOID_PENDING, desired next PAUSED 0:00:01.803483501 766 0x2fbb5a00 INFO filesrc gstfilesrc.c:468:gst_file_src_start:<filesrc0> opening file bad_apple.mp4 0:00:01.803675085 766 0x2fbb5a00 WARN basesrc gstbasesrc.c:3600:gst_base_src_start_complete:<filesrc0> pad not activated yet 0:00:01.803919710 766 0x2fbb5a00 INFO filesrc gstfilesrc.c:468:gst_file_src_start:<filesrc0> opening file bad_apple.mp4 0:00:01.804240376 766 0x2fbb5a00 INFO task gsttask.c:460:gst_task_set_lock: setting stream lock 0x2fc1a370 on task 0x2fc2f3b0 0:00:01.804357751 766 0x2fbb5a00 INFO GST_PADS gstpad.c:6159:gst_pad_start_task:<qtdemux0:sink> created task 0x2fc2f3b0 0:00:01.804864668 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<qtdemux0> completed state change to PAUSED 0:00:01.805003668 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<qtdemux0> notifying about state-changed READY to PAUSED (VOID_PENDING pending) 0:00:01.805187585 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'qtdemux0' changed state to 3(PAUSED) successfully 0:00:01.805343168 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<filesrc0> current READY pending VOID_PENDING, desired next PAUSED 0:00:01.805518210 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<filesrc0> completed state change to PAUSED 0:00:01.805643960 766 0x2fbb5a00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<filesrc0> notifying about state-changed READY to PAUSED (VOID_PENDING pending) 0:00:01.805825168 766 0x2fbb5a00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'filesrc0' changed state to 3(PAUSED) successfully Pipeline is PREROLLING ... 0:00:01.810877918 766 0x2fc220f0 INFO qtdemux qtdemux.c:14312:qtdemux_parse_tree:<qtdemux0> timescale: 1000 0:00:01.811074626 766 0x2fc220f0 INFO qtdemux qtdemux.c:14313:qtdemux_parse_tree:<qtdemux0> duration: 219150 0:00:01.811408668 766 0x2fc220f0 WARN qtdemux qtdemux.c:3308:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1 0:00:01.811875626 766 0x2fc220f0 INFO qtdemux qtdemux.c:11776:qtdemux_parse_trak:<qtdemux0> type avc1 caps video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4.1, profile=(string)high, codec_data=(buffer)01640029ffe1001767640029ac34ec08031a10005161501312d008f183138001000468eebcb0 0:00:01.813305126 766 0x2fc220f0 WARN qtdemux qtdemux.c:3308:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 2 0:00:01.813848668 766 0x2fc220f0 INFO qtdemux qtdemux.c:12502:qtdemux_parse_trak:<qtdemux0> type mp4a caps audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)121056e500 0:00:02.145767335 766 0x2fc220f0 INFO GST_SCHEDULING gstpad.c:4900:gst_pad_get_range_unchecked:<filesrc0:src> getrange failed, flow: eos 0:00:02.145897085 766 0x2fc220f0 INFO GST_SCHEDULING gstpad.c:5115:gst_pad_pull_range:<qtdemux0:sink> pullrange failed, flow: eos 0:00:02.146788126 766 0x2fc220f0 INFO GST_EVENT gstevent.c:820:gst_event_new_caps: creating caps event video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)4.1, profile=(string)high, codec_data=(buffer)01640029ffe1001767640029ac34ec08031a10005161501312d008f183138001000468eebcb0, width=(int)512, height=(int)384, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1 0:00:02.146989335 766 0x2fc220f0 INFO GST_ELEMENT_PADS gstelement.c:672:gst_element_add_pad:<qtdemux0> adding pad 'video_0' 0:00:02.147235168 766 0x2fc220f0 INFO GST_PIPELINE grammar.y:524:gst_parse_found_pad: trying delayed linking one pad some pad of GstQTDemux named qtdemux0 to some pad of avdec_h264 named avdec_h264-0 0:00:02.147401960 766 0x2fc220f0 INFO GST_ELEMENT_PADS gstutils.c:1774:gst_element_link_pads_full: trying to link element qtdemux0:(any) to element avdec_h264-0:(any) 0:00:02.147607168 766 0x2fc220f0 INFO GST_PADS gstutils.c:1035:gst_pad_check_link: trying to link qtdemux0:video_0 and avdec_h264-0:sink 0:00:02.152496751 766 0x2fc220f0 INFO GST_PADS gstutils.c:1588:prepare_link_maybe_ghosting: qtdemux0 and avdec_h264-0 in same bin, no need for ghost pads 0:00:02.152711626 766 0x2fc220f0 INFO GST_PADS gstpad.c:2378:gst_pad_link_prepare: trying to link qtdemux0:video_0 and avdec_h264-0:sink 0:00:02.157511460 766 0x2fc220f0 INFO GST_PADS gstpad.c:2586:gst_pad_link_full: linked qtdemux0:video_0 and avdec_h264-0:sink, successful 0:00:02.157615918 766 0x2fc220f0 INFO GST_EVENT gstevent.c:1579:gst_event_new_reconfigure: creating reconfigure event 0:00:02.158287085 766 0x2fc220f0 INFO GST_EVENT gstevent.c:820:gst_event_new_caps: creating caps event audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)121056e500, rate=(int)44100, channels=(int)2 0:00:02.158470168 766 0x2fc220f0 INFO GST_ELEMENT_PADS gstelement.c:672:gst_element_add_pad:<qtdemux0> adding pad 'audio_0' 0:00:02.158784168 766 0x2fc220f0 INFO GST_EVENT gstevent.c:901:gst_event_new_segment: creating segment event time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:00:00.033000000, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999 Redistribute latency... 0:00:02.163885918 766 0x2fbb5a00 INFO GST_EVENT gstevent.c:1450:gst_event_new_latency: creating latency event 0:00:00.000000000 0:00:02.164127418 766 0x2fbb5a00 INFO bin gstbin.c:2784:gst_bin_do_latency_func:<pipeline0> configured latency of 0:00:00.000000000 0:00:02.164560335 766 0x2fc220f0 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<avdec_h264-0> upstream tags: taglist, video-codec=(string)"H.264\ /\ AVC", bitrate=(uint)439986; 0:00:02.496892293 766 0x2fc220f0 INFO GST_EVENT gstevent.c:901:gst_event_new_segment: creating segment event time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=0:03:39.150000000, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999 0:00:02.497390835 766 0x2fc220f0 INFO GST_EVENT gstevent.c:901:gst_event_new_segment: creating segment event time segment start=0:00:00.033000000, offset=0:00:00.000000000, stop=0:03:39.132000000, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.033000000, base=0:00:00.033000000, position 0:00:00.033000000, duration 99:99:99.999999999 0:00:02.499333293 766 0x2fc220f0 INFO libav :0:: Reinit context to 512x384, pix_fmt: yuv420p Caught SIGSEGV exec gdb failed: No such file or directory Spinning. Please run 'gdb gst-launch-1.0 766' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
然后我用omx硬解码
GST_DEBUG=4 gst-launch-1.0 filesrc location=bad_apple.mp4 ! qtdemux ! h264parse ! omxh264dec ! videoconvert ! fbdevsink
没有报错 但是屏幕变绿 播不出来
Pipeline is PREROLLED ... Setting pipeline to PLAYING ... 0:00:04.348374627 789 0x3c95aa00 INFO GST_EVENT gstevent.c:1450:gst_event_new_latency: creating latency event 0:00:00.000000000 0:00:04.349134002 789 0x3c95aa00 INFO bin gstbin.c:2784:gst_bin_do_latency_func:<pipeline0> configured latency of 0:00:00.000000000 0:00:04.349472585 789 0x3c95aa00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<fbdevsink0> current PAUSED pending VOID_PENDING, desired next PLAYING 0:00:04.349785377 789 0x3c95aa00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<fbdevsink0> completed state change to PLAYING 0:00:04.349953585 789 0x3c95aa00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<fbdevsink0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending) 0:00:04.350255502 789 0x3c95aa00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'fbdevsink0' changed state to 4(PLAYING) successfully 0:00:04.350430294 789 0x3c95aa00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<videoconvert0> current PAUSED pending VOID_PENDING, desired next PLAYING 0:00:04.350650960 789 0x3c95aa00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<videoconvert0> completed state change to PLAYING 0:00:04.350777419 789 0x3c95aa00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<videoconvert0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending) 0:00:04.350956044 789 0x3c95aa00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'videoconvert0' changed state to 4(PLAYING) successfully 0:00:04.351120044 789 0x3c95aa00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<omxh264dec-omxh264dec0> current PAUSED pending VOID_PENDING, desired next PLAYING 0:00:04.351260044 789 0x3c95aa00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<omxh264dec-omxh264dec0> completed state change to PLAYING 0:00:04.351381544 789 0x3c95aa00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<omxh264dec-omxh264dec0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending) 0:00:04.351557794 789 0x3c95aa00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'omxh264dec-omxh264dec0' changed state to 4(PLAYING) successfully 0:00:04.351724377 789 0x3c95aa00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<h264parse0> current PAUSED pending VOID_PENDING, desired next PLAYING 0:00:04.682762002 789 0x3c95aa00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<h264parse0> completed state change to PLAYING 0:00:04.682926835 789 0x3c95aa00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<h264parse0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending) 0:00:04.683116710 789 0x3c95aa00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'h264parse0' changed state to 4(PLAYING) successfully 0:00:04.683285044 789 0x3c95aa00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<qtdemux0> current PAUSED pending VOID_PENDING, desired next PLAYING 0:00:04.683419460 789 0x3c95aa00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<qtdemux0> completed state change to PLAYING 0:00:04.683539169 789 0x3c95aa00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<qtdemux0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending) 0:00:04.683715377 789 0x3c95aa00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'qtdemux0' changed state to 4(PLAYING) successfully 0:00:04.683866460 789 0x3c95aa00 INFO GST_STATES gstbin.c:2507:gst_bin_element_set_state:<filesrc0> current PAUSED pending VOID_PENDING, desired next PLAYING 0:00:04.684002502 789 0x3c95aa00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<filesrc0> completed state change to PLAYING 0:00:04.684121585 789 0x3c95aa00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<filesrc0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending) 0:00:04.684303710 789 0x3c95aa00 INFO GST_STATES gstbin.c:2955:gst_bin_change_state_func:<pipeline0> child 'filesrc0' changed state to 4(PLAYING) successfully 0:00:04.684570169 789 0x3c95aa00 INFO GST_STATES gstelement.c:2689:gst_element_continue_state:<pipeline0> completed state change to PLAYING 0:00:04.684717169 789 0x3c95aa00 INFO GST_STATES gstelement.c:2592:_priv_gst_element_state_changed:<pipeline0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending) New clock: GstSystemClock 0:00:04.941434086 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)134160; 0:00:05.073941419 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)410400; 0:00:05.143155044 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)428880; 0:00:05.173732294 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)437520; 0:00:05.209622419 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)553200; 0:00:10.488652547 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)576480; 0:00:10.673945797 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)608880; 0:00:11.097856797 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)625680; 0:00:11.910405006 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)757200; 0:00:15.454831924 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)802800; 0:00:15.505884007 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)982800; 0:00:19.131155342 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)1075200; 0:00:19.233288009 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)1152240; 0:00:59.676430612 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)1430160; 0:00:59.774567987 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)2053920; 0:01:06.443747573 789 0x3ca02230 INFO videodecoder gstvideodecoder.c:1312:gst_video_decoder_sink_event_default:<omxh264dec-omxh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ \(High\ Profile\)", bitrate=(uint)439986, minimum-bitrate=(uint)4080, maximum-bitrate=(uint)2581200;
然后我把最后一个元件换了 换成专门的sunxifbsink
gst-launch-1.0 filesrc location=bad_apple.mp4 ! qtdemux ! h264parse ! omxh264dec ! videoconvert ! sunxifbsink
-->sunxifbsink init. Setting pipeline to PAUSED ... dd: writing '/dev/fb0': No space left on device 32401+0 records[ 3997.682603] [DISP] disp_get_layer,line:111: [ 3997.682611] disp_get_layer (0,1702453612,1633886322) fail in 32400+0 records out Succesfully opened fbdev framebuffer device /dev/fb0, mapped sized 12.00 MB of which 7.91 MB (1 buffers) usable for page flipping. fb[ 3997.708569] VE: VE real_freq=576000000 [ 3997.708569] dev phy=0xff000000,len=0xfd2000,vir=0x3fc8d69000,size=0xc00000. -->/dev/transform does not exist, hardware rotation is not supported. -->reserver layer called (screen = 1920 x 1080). -->Hardware overlay available. Succesfully opened screen of pixel depth 32, dimensions 1920 x 1080, format BGRx, 12.00 MB video memory available, max 1 pannable screen buffers, vsync enabled. INFO : cedarc <VeInitialize:1307>: *** ic_version = 0x1301000010210, INFO : cedarc <VeRelease:1476>: not malloc locks INFO : cedarc <VeInitialize:1307>: *** ic_version = 0x1301000010210, Pipeline is PREROLLING ... ERROR : omx_vdec <AwOmxVdecPortGetFormat:348>: erro: pParamData->nIndex[1] > m_sPortFormatType.nIndex[0] WARNING: cedarc <AddVDPlugin:1574>: 1117 get local path: /usr/lib/ WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libaw_aacdec.so WARNING: cedarc <AddVDPluginSingle:1424>: Invalid plugin, CedarPluginVDInit not found. WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libaw_alacdec.so WARNING: cedarc <AddVDPluginSingle:1424>: Invalid plugin, CedarPluginVDInit not found. WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libaw_amrdec.so WARNING: cedarc <AddVDPluginSingle:1424>: Invalid plugin, CedarPluginVDInit not found. WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libaw_apedec.so WARNING: cedarc <AddVDPluginSingle:1424>: Invalid plugin, CedarPluginVDInit not found. WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libaw_atrcdec.so WARNING: omx_vdec <__AwOmxVdecGetConfig:1558>: +++++ get display crop: top[0],left[0],width[512],height[384] WARNING: cedarc <AddVDPluginSingle:1424>: Inval[ 3997.873239] VE: VE real_freq=576000000 [ 3997.873239] id plugin, CedarPluginVDInit not found. WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libaw_dsddec.so WARNING: cedarc <AddVDPluginSingle:1424>: Invalid plugin, CedarPluginVDInit not found. WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libaw_flacdec.so WARNING: cedarc <AddVDPluginSingle:1424>: Invalid plugin, CedarPluginVDInit not found. WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libaw_g729dec.so WARNING: cedarc <AddVDPluginSingle:1424>: Invalid plugin, CedarPluginVDInit not found. WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libaw_mp3dec.so ---->sunxifb pre overlay(SCWxSCN=512 x 384,out_rec=[704 348,512,384]). Using one framebuffer plus 8 overlays in video memory (format YV12). WARNING[ 3997.947230] [DISP] disp_get_layer,line:111: : cedarc <AddVDPluginSingle:1424[ 3997.947237] disp_get_layer (0,0,4096) fail >: Invalid plugin, CedarPluginVD[ 3997.961227] [DISP] disp_get_layer,line:111: Init not found. WARNING: cedarc[ 3997.961234] disp_get_layer (0,63,-964650600) fail <AddVDPlugin:1584>: 1117 load [ 3997.976447] [DISP] disp_mgr_get_layer_config,line:2291: so: /usr/lib/libaw_oggdec.so W[ 3997.976454] get layer(0,63,-964650600) fail ARNING: cedarc <AddVDPluginSingl[ 3997.992569] [DISP] disp_get_layer,line:111: e:1424>: Invalid plugin, CedarPl[ 3997.992636] disp_get_layer (0,63,-964650600) fail uginVDInit not found. WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libaw_opusdec.so WARNING: cedarc <AddVDPluginSingle:1424>: Invalid plugin, CedarPluginVDInit not found. WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libaw_radec.so WARNING: cedarc <AddVDPluginSingle:1424>: Invalid plugin, CedarPluginVDInit not found. WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libaw_siprdec.so WARNING: cedar[ 3998.044272] [DISP] disp_get_layer,line:111: c <AddVDPluginSingle:1424>: Inva[ 3998.044279] disp_get_layer (0,0,4096) fail lid plugin, CedarPluginVDInit not found. WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libaw_wavdec.so WARNING: cedarc <AddVDPluginSingle:1424>: Invalid plugin, CedarPluginVDInit not found. WARNING: cedarc <AddVDPlugin:1584>: 1117 load s[ 3998.079041] [DISP] disp_get_layer,line:111: o: /usr/lib/libawh264.so INFO [ 3998.079049] disp_get_layer (0,0,4096) fail : cedarc <CedarPluginVDInit:79>: register h264 decoder success! WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libawh265.so INFO : cedarc <CedarPluginVDInit:85>: register h265 decoder success! WARNING: cedarc <AddVDPlugin:1584>: 1117 [ 3998.112260] [DISP] disp_get_layer,line:111: load so: /usr/lib/libawmjpeg.so [ 3998.112377] disp_get_layer (0,0,4096) fail INFO : cedarc <CedarPluginVDInit:84>: register mjpeg decoder success! WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libawmjpegplus.so INFO : cedarc <CedarPluginVDInit:89>: register mjpegplus decoder su[ 3998.145908] [DISP] disp_get_layer,line:111: ccess! WARNING: cedarc <AddVDPl[ 3998.145916] disp_get_layer (0,0,4096) fail ugin:1584>: 1117 load so: /usr/lib/libawmpeg2.so INFO : cedarc <CedarPluginVDInit:86>: register mpeg2 decoder success! WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libawmpeg4base.so WARNING: cedarc <AddVDPluginSingle:1424>: Invalid p[ 3998.179105] [DISP] disp_get_layer,line:111: lugin, CedarPluginVDInit not fou[ 3998.179113] disp_get_layer (0,0,4096) fail nd. WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libawmpeg4dx.so INFO : cedarc <CedarPluginVDInit:92>: register mpeg4dx decoder success! WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libawm[ 3998.211258] [DISP] disp_get_layer,line:111: peg4h263.so INFO : cedarc <C[ 3998.211266] disp_get_layer (0,0,4096) fail edarPluginVDInit:79>: register mpeg4H263 decoder success! WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libawmpeg4normal.so INFO : cedarc <CedarPluginVDInit:90>: register mpeg4Normal decoder success! WARNING: cedarc <AddVDPlugin:1584>: [ 3998.243806] [DISP] disp_get_layer,line:111: 1117 load so: /usr/lib/libawrec[ 3998.243813] disp_get_layer (0,0,4096) fail order.so WARNING: cedarc <AddVDPluginSingle:1424>: Invalid plugin, CedarPluginVDInit not found. WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libawrpaf.so WARNING: cedarc <AddVDPluginSingle:1424>: Invalid [ 3998.277351] [DISP] disp_get_layer,line:111: plugin, CedarPluginVDInit not fo[ 3998.277358] disp_get_layer (0,0,4096) fail und. WARNING: cedarc <AddVDPlugin:1584>: 1117 load so: /usr/lib/libawwmv3.so INFO : cedarc <CedarPluginVDInit:74>: register vc1 decoder success! INFO : cedarc <log_set_level:43>: Set log level to 5 from /vendor/etc/cedarc.conf ERROR : cedarc <De[ 3998.311390] [DISP] disp_get_layer,line:111: bugCheckConfig:301>: now[ 3998.311399] disp_get_layer (0,0,4096) fail cedarc log level:5 WARNING: cedarc <InitializeVideoDecoder:602>: warning: the nDeInterlaceHoldingFrameBufferNum is 0 WARNING: cedarc <InitializeVideoDecoder:611>: warning: the nDisplayHoldingFrameBufferNum is 0 WARNING: omx_vdec <__AwOmxVdecGetConf[ 3998.343498] [DISP] disp_get_layer,line:111: ig:1558>: +++++ get display crop[ 3998.343506] disp_get_layer (0,0,4096) fail : top[0],left[0],width[512],height[384] -->show_layer id (0). Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock [ 3998.377587] [DISP] disp_get_layer,line:111: [ 3998.377594] disp_get_layer (0,0,4096) fail [ 3998.410256] [DISP] disp_get_layer,line:111: [ 3998.410263] disp_get_layer (0,0,4096) fail [ 3998.443265] [DISP] disp_get_layer,line:111: [ 3998.443272] disp_get_layer (0,0,4096) fail [ 3998.477290] [DISP] disp_get_layer,line:111: [ 3998.477297] disp_get_layer (0,0,4096) fail
接下来就是最后两句无限循环
-
你是打了 D1_open_tina_multimedia_update_0730.tar.gz 这个补丁后出的这个问题是吧?
-
@lajuchenghui 用playbin播放测试一下,如果还是有问题换个片源试试
-
@xiaowenge
是的 -
@houxiaoni
gst-launch-1.0 playbin file:/tmp/bad_apple.mp4 不行
换片源也不行 -
@lajuchenghui 把你的这个测试片源贴出来吧,我测试看看。不过,你那边如果playbin都不成功的话,感觉还是环境没有弄好,再仔细对比一下7月30号的补丁文件
-
@houxiaoni 在 gstreamer播放失败 中说:
@lajuchenghui 把你的这个测试片源贴出来吧,我测试看看。不过,你那边如果playbin都不成功的话,感觉还是环境没有弄好,再仔细对比一下7月30号的补丁文件
-
-
@lajuchenghui 你的测试指令gst-launch-1.0 filesrc location=bad_apple.mp4 ! qtdemux ! h264parse ! omxh264dec ! videoconvert ! sunxifbsink 我这边可以正常播放,另外,你的playbin测试指令格式错误,在指定路径时忘记uri了,正确格式应该为gst-launch-1.0 playbin uri=file:///tmp/bad_apple.mp4。所以请仔细对比7月30号的补丁文件
-
-
-
我在仔细对比0730补丁文件后 没有发现问题 于是我重新make clean make 发现可以正常播放了
以下是测试能正常播放的命令:
1.指定硬件解码器和fb元件的播放视频命令
gst-launch-1.0 filesrc location=bad_apple.mp4 ! qtdemux ! h264parse ! omxh264dec ! videoconvert ! sunxifbsink
2.自动寻找硬件解码器 指定fb元件的播放视频命令
gst-launch-1.0 filesrc location=bad_apple.mp4 ! qtdemux ! decodebin ! sunxifbsink
3.同时播放音视频的命令
gst-launch-1.0 filesrc location=bad_apple.mp4 ! qtdemux name=demux demux.audio_0 ! queue ! decodebin ! audioconvert ! audioresample ! alsasink demux.video_0 ! queue ! h264parse ! omxh264dec ! videoconvert ! videoscale ! sunxifbsink最后感谢上面大佬的帮助
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号