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
Solved! Go to Solution.
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
internal team is investigating
Hi,
Do you have some news?
Jordan
the last update was "we are investigating"
karinavalencia, news?
Only to make sure I'm seeing the same movie you are. Using VLC (Win7 PC) I have a lot of artifact:
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.
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
do you find some issues ?
jordan
I'm working on reproduce it. And I have asked internally for confirmation on specific codec support.
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....
I don't have artifact on my video when I play it with VLC (Win7 or Linux Ubuntu).
Jordan
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
the link does not work. Can you, please, open the file?
(error: You need permission)
Sorry. Now the link has a public access.
Jordan
* 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
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....
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
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?
DaianeAngolini can you share your comments here?
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
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?