[gstreamer] beepdec.ddplus plugin utilisation

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[gstreamer] beepdec.ddplus plugin utilisation

Jump to solution
4,888 Views
jordanguillot
Contributor II

Hi community,

The setup is the following:

rootfs built with yocto daisy, and MACHINE is imx6dlsabresd.conf, linux kernel is 3.10.53.

I can only use Gstreamer 0.10 and I have a Dolby Digital license to get the beepdec.ddplus plugin.

I'm using the following Gstreamer pipeline to watch HD TV from an external TV tuners in USB:

gst-launch dvbsrc adapter=0 inversion=AUTO modulation=AUTO trans-mode=AUTO bandwidth=8 \

      frequency=506000000 code-rate-lp=AUTO code-rate-hp=AUTO guard=AUTO hierarchy=AUTO \

      ! "video/mpegts, systemstream=(boolean)true, packetsize=(int)188" \

      ! aiurdemux \

      ! "audio/eac3" \

      ! beepdec.ddplus \

      ! playsink

And the command output :

      WARNING: erroneous pipeline: link without source element

I try lots of different pipeline but it still doesn't work.

Could you help me to find an issue?

Best Regards,

Jordan

Labels (4)
1 Solution
4,017 Views
CommunityBot
Community Manager
This an automatic process.

We are marking this post as solved, due to the either low activity or any reply marked as correct.

If you have additional questions, please create a new post and reference to this closed post.

NXP Community!

View solution in original post

0 Kudos
Reply
21 Replies
4,018 Views
CommunityBot
Community Manager
This an automatic process.

We are marking this post as solved, due to the either low activity or any reply marked as correct.

If you have additional questions, please create a new post and reference to this closed post.

NXP Community!
0 Kudos
Reply
3,964 Views
karina_valencia
NXP Apps Support
NXP Apps Support

From R&D:

There is a property in beepdec: resync-threshold

previous this default value is 2s,

Checked the beepdec in ts, when video dec fail and flusing at 27s

the next audio buffer ts is 29s, but send out at 27s

if the threshold is 1s, it will resync the output ts to 29s, which will fix the issue.

also previously only when framed buffer will resync, modified the code

Please see attached lib and have a try, I think it can fix this issue

3,966 Views
daiane_angolini
NXP Employee
NXP Employee

internal team is investigating

0 Kudos
Reply
3,966 Views
jordanguillot
Contributor II

Hi,

Do you have some news?

Jordan

0 Kudos
Reply
3,966 Views
daiane_angolini
NXP Employee
NXP Employee

the last update was "we are investigating"

karinavalencia​, news?

0 Kudos
Reply
3,966 Views
daiane_angolini
NXP Employee
NXP Employee

Only to make sure I'm seeing the same movie you are. Using VLC (Win7 PC) I have a lot of artifact:

artifacts.png

I have tons of audio streams. I'm assuming the target one is the stream 1. I must double check if this specific coded is supported by the BSP you've been using.

codec.png

I'm going to contact the internal team in order to verify the codec, and I should update you at the end of my day or (worst case) tomorrow, regarding the status of this issue

3,966 Views
jordanguillot
Contributor II

do you find some issues ?

jordan

0 Kudos
Reply
3,966 Views
daiane_angolini
NXP Employee
NXP Employee

I'm working on reproduce it. And I have asked internally for confirmation on specific codec support.

0 Kudos
Reply
3,966 Views
daiane_angolini
NXP Employee
NXP Employee

I got the confirmation the codec is supported for playback.

I'm still working to reproduction. I'm sorry for taking so long, network issues....

0 Kudos
Reply
3,966 Views
jordanguillot
Contributor II

I don't have artifact on my video when I play it with VLC (Win7 or Linux Ubuntu).

Jordan

3,966 Views
jordanguillot
Contributor II

To reproduce the same on your side:

Acquisition pipeline :

gst-launch dvbsrc adapter=0 inversion=AUTO modulation=AUTO trans-mode=AUTO bandwidth=8 frequency=506000000 code-rate-lp=AUTO code-rate-hp=AUTO guard=AUTO hierarchy=AUTO ! filesink location=record_dvb

Link to download recording file :

https://drive.google.com/open?id=0B8LJqc6wS801QU5mdVhIRkl2bmM

record_dvb contains 3 TV channels, « aiurdemux » plugin option « program-number » allows to select a channel. 1281 for 1st channel ; 1282 for second and 1283 for third.

gst-launch filesrc location=record_dvb \

! "video/mpegts, systemstream=(boolean)true, packetsize=(int)188" \

! aiurdemux program-number=1281 name=demux demux. \

! queue2 \

! vpudec \

! imxv4l2sink demux. \

! "audio/eac3, channels=(int)6, rate=(int)48000, bitrate=(int)999" \

! queue2 max-size-time=0 \

! beepdec \

! playsink

when playing recording file with above pipeline, comments are :

at beginning : audio and video good

at 27 second : video jerky during couple of second and audio is shifted compare to vidéo

at 2.07 second : video jerky during couple of second and no more sound

Regards,

Jordan

0 Kudos
Reply
3,966 Views
daiane_angolini
NXP Employee
NXP Employee

the link does not work. Can you, please, open the file?

(error: You need permission)

0 Kudos
Reply
3,966 Views
jordanguillot
Contributor II

Sorry. Now the link has a public access.

Jordan

3,966 Views
jordanguillot
Contributor II

* If you try only video, the video is good enough? Yes the video is good enough, sometime it's get jerky during  a couple of second and then it comes back good.

* If you try only audio, is there any change? On beginning, the audio is good and after a random delay, the audio stop.

* what happens if you change the transmitted media? (is that possible?) I try transmit media by UDP, thus in this case I use "udpsrc" plugin. I get same symptoms but with less occurrence.

* what is the performance if you stream the same media to a PC with (for example) VLC? I try VLC on PC with only UDP stream and I haven't problems

I think the problem comes from audio plugin beepdec with DolbyDigital Plus codec.

Regards,

Jordan

0 Kudos
Reply
3,966 Views
daiane_angolini
NXP Employee
NXP Employee

I agree.

How can I reproduce the same on my side? Is there any way you can generate a media file I could use to reproduce it on my desk?

I mean, I understand you've been using an external TV device, which is something I cannot have, but maybe you could generate a similiar movie I could playback or stream....

0 Kudos
Reply
3,966 Views
jordanguillot
Contributor II

At the beginning, there is sound and when following traces happened, the video jerky and there is no more sound.

set v4l rotate sucessfully

>>V4L_SINK: Actually buffer status:

    hardware buffer : 12

    software buffer : 0

Beep: 4.0.2

Core: DDPlus decoder Wrapper  build on Feb 17 2014 14:00:27

  mime: audio/eac3

  file: /usr/lib/imx-mm/audio-codec/wrap/lib_ddpd_wrap_arm12_elinux.so.1

CODEC: BLN_MAD-MMCODECS_DDPLUS_ARM_01.02.00_CORTEX-A8  build on Feb 17 2014 14:48:17.

full screen size:1920x1080

[V4L Update Display]: left=0, top=0, width=1920, height=1080

set v4l display crop sucessfully

WARNING: from element /GstPipeline:pipeline0/MFW_GST_V4LSINK_INFO_T:mfw_gst_v4lsink_info_t0: A lot of buffers are being dropped.

Additional debug info:

/data/freescale/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer/0.10.36-r2/gstreamer-0.10.36/libs/gst/base/gstbasesink.c(2875): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/MFW_GST_V4LSINK_INFO_T:mfw_gst_v4lsink_info_t0:

There may be a timestamping problem, or this computer is too slow.

WARNING: from element /GstPipeline:pipeline0/MFW_GST_V4LSINK_INFO_T:mfw_gst_v4lsink_info_t0: A lot of buffers are being dropped.

Additional debug info:

/data/freescale/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer/0.10.36-r2/gstreamer-0.10.36/libs/gst/base/gstbasesink.c(2875): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/MFW_GST_V4LSINK_INFO_T:mfw_gst_v4lsink_info_t0:

There may be a timestamping problem, or this computer is too slow.

WARNING: from element /GstPipeline:pipeline0/MFW_GST_V4LSINK_INFO_T:mfw_gst_v4lsink_info_t0: A lot of buffers are being dropped.

Additional debug info:

/data/freescale/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/gstreamer/0.10.36-r2/gstreamer-0.10.36/libs/gst/base/gstbasesink.c(2875): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/MFW_GST_V4LSINK_INFO_T:mfw_gst_v4lsink_info_t0:

There may be a timestamping problem, or this computer is too slow.

Regards,

Jordan

0 Kudos
Reply
3,965 Views
daiane_angolini
NXP Employee
NXP Employee

I don't know what the problem is, but I thought about something to help to debug:

* If you try only video, the video is good enough?

* If you try only audio, is there any change?

* what happens if you change the transmitted media? (is that possible?)

* what is the performance if you stream the same media to a PC with (for example) VLC?

0 Kudos
Reply
3,966 Views
karina_valencia
NXP Apps Support
NXP Apps Support

DaianeAngolini​ can you share your comments here?

0 Kudos
Reply
3,966 Views
jordanguillot
Contributor II

Thanks for your reply.

Now, I understand how to use my decoder; I replace beepdec.ddplus by beepdec.

And I add caps in my pipeline.

gst-launch dvbsrc adapter=0 inversion=AUTO modulation=AUTO trans-mode=AUTO bandwidth=8 \

frequency=506000000 code-rate-lp=AUTO code-rate-hp=AUTO guard=AUTO hierarchy=AUTO \

! "video/mpegts, systemstream=(boolean)true, packetsize=(int)188" \

! aiurdemux name=demux demux. \

! "audio/eac3, channels=(int)6, rate=(int)48000, bitrate=(int)999"  \

! beepdec \

! playsink

Now i want to use gstreamer to get Television (audio / video) throw DVB dongle.

When i  run a pipe with audio and video , after few second (~5 seconds), the video is jerky and the audio disappears.

this is the pipe i run  :

gst-launch dvbsrc adapter=0 inversion=AUTO modulation=AUTO trans-mode=AUTO bandwidth=8 \

frequency=506000000 code-rate-lp=AUTO code-rate-hp=AUTO guard=AUTO hierarchy=AUTO \

! "video/mpegts, systemstream=(boolean)true, packetsize=(int)188" \

! aiurdemux name=demux demux.audio_501082 \

! "audio/eac3, channels=(int)6, rate=(int)48000, bitrate=(int)999" \

! queue2 \

! beepdec \

! playsink demux. \

! queue2 max-size-time=0 \

! vpudec low-latency=false \

! imxv4l2sink --gst-debug=0

do you have any idea of how we can increase the user experience  ?

Regards,

Jordan

0 Kudos
Reply
3,966 Views
daiane_angolini
NXP Employee
NXP Employee

When you say "audio disappears", do you get any errors?

Can you describe it? Is that you got audio and after some seconds it fades out? Or the audio is there but with noise? Or there is never audio?

0 Kudos
Reply