Capture using EyeTV plugin gives playback with artifacts

macOS specific usage questions
tchristensen
New Cone
New Cone
Posts: 5
Joined: 07 Jan 2006 10:09
Location: Denmark
Contact:

Capture using EyeTV plugin gives playback with artifacts

Postby tchristensen » 19 Jun 2009 08:16

Hi

I have a working EyeTV installation that receives DVB-T streams which I wanted to play in VLC instead for later transcode and retransmission. I have installed EyeTV Capture Plugin and can start the playback (without transcoding etc just to test). The images however, are filled with artifacts and the log is filled with "libdvbpsi error (PSI decoder): TS discontinuity (received 12, expected 11) for PID 18" or similar statements. Sound is chubby too.

I'm using the VLC wizard to open the EyeTV Capture plugin with "eyetv:// :eyetv-channel=1" as arguments. The stream received is an mpeg-ts with mpeg2/mpega content. When I look at the mediainfo page, codec details I see all the programms that are available in the stream from the mux with EPG data etc. Could it be that the many PID's are the source of the problem?

Here is a screen dump of what I'm looking at it is available on http://yfrog.com/5gvlcsnap1779668p

Best regards

Thomas

Specs:

Mac OSX 10.5.7
VLC 0.9.9a
EyeTV 3.1 (4515)
EyeTV Capture Plugin (no version number) as of 19 June 2009
3.06 GHz with 4 GB Ram

ajmas
Big Cone-huna
Big Cone-huna
Posts: 935
Joined: 04 Feb 2006 07:33
VLC version: 3.0.x
Operating System: MacOS X
Location: Montreal, Canada

Re: Capture using EyeTV plugin gives playback with artifacts

Postby ajmas » 19 Jun 2009 13:13

DVB-T streams are all 'over-the-air' if I understand correctly, so I am assuming this is the case for you. The sort of artifacting you see is most probably due to noise in the incoming signal, which is causing decoding issues in the digital stream. I experienced the same issues when using TNT (French terminology for the same thing) in France, and experienced similar issues. If someone knows otherwise, then please correct me.
Providing logs, messages, configuration info (VLC, OS, Hardware) and a clear explanation of the issue always helps the problem solvers help you, even if they don't end up solving the issue. Just think what you would need if you were solving someone else's problem. Additional: Always looking for eager and capable MacOS X developers to join the VLC team - for more information see here.

tchristensen
New Cone
New Cone
Posts: 5
Joined: 07 Jan 2006 10:09
Location: Denmark
Contact:

Re: Capture using EyeTV plugin gives playback with artifacts

Postby tchristensen » 19 Jun 2009 13:27

The DVB-T signals are played nicely using EyeTV directly so the streams must be ok.

The DJ
Cone Master
Cone Master
Posts: 5987
Joined: 22 Nov 2003 21:52
VLC version: git
Operating System: Mac OS X
Location: Enschede, Holland
Contact:

Re: Capture using EyeTV plugin gives playback with artifacts

Postby The DJ » 19 Jun 2009 15:56

EyeTV probably does some reordering and reconstructing when packets are lost.
Don't use PMs for support questions.

tchristensen
New Cone
New Cone
Posts: 5
Joined: 07 Jan 2006 10:09
Location: Denmark
Contact:

Re: Capture using EyeTV plugin gives playback with artifacts

Postby tchristensen » 20 Jun 2009 09:59

EyeTV probably does some reordering and reconstructing when packets are lost.
I believe you are correct. I checked Elgatos description of the EyeTV API and it reads
Note that the plug-in is called before EyeTV looks at the packets, so it is even possible to modify the data.
I guess that means that what ever errors that are in the stream is probably fixed after the plugin is called.

masinisa
New Cone
New Cone
Posts: 2
Joined: 25 Jul 2009 16:32

Re: Capture using EyeTV plugin gives playback with artifacts

Postby masinisa » 25 Jul 2009 16:34

Dears,

Where can I find the EyeTV Capture plugin arguments syntax?
I need to capture the whole multiplex, but the only documented argument (from this mail) is for one service/channel ("eyetv:// :eyetv-channel=1" as argument)

Hamid

fkuehne
Developer
Developer
Posts: 7241
Joined: 16 Mar 2004 19:37
VLC version: 0.4.6 - present
Operating System: Darwin
Location: Germany
Contact:

Re: Capture using EyeTV plugin gives playback with artifacts

Postby fkuehne » 26 Jul 2009 15:53

Capturing an entire multiplex is not supported as far as I know. As my testing device does only deliver the TS stream of the currently selected channel for performance reasons, I can't check for you whether it might work.
VideoLAN
Felix Paul Kühne
Medic. VLC developer for appleOS since before you were born.
Blog: https://www.feepk.net

ajmas
Big Cone-huna
Big Cone-huna
Posts: 935
Joined: 04 Feb 2006 07:33
VLC version: 3.0.x
Operating System: MacOS X
Location: Montreal, Canada

Re: Capture using EyeTV plugin gives playback with artifacts

Postby ajmas » 26 Jul 2009 17:35

What would be interesting to see, is if there are any other open source projects that have better error correction of the incoming stream. Maybe there are even some documented algorithms?

I did a look around, but didn't find anything satisfactory. Some links:

- http://en.wikipedia.org/wiki/DVB-T
- Broadcast engineer's reference book
Providing logs, messages, configuration info (VLC, OS, Hardware) and a clear explanation of the issue always helps the problem solvers help you, even if they don't end up solving the issue. Just think what you would need if you were solving someone else's problem. Additional: Always looking for eager and capable MacOS X developers to join the VLC team - for more information see here.

masinisa
New Cone
New Cone
Posts: 2
Joined: 25 Jul 2009 16:32

Re: Capture using EyeTV plugin gives playback with artifacts

Postby masinisa » 27 Jul 2009 16:53

that's a pity...
Means I will need to get a new DTT device

But still wondering where the documented argument came from (eyetv:// :eyetv-channel=1)?
Or was it a post from the plugin writer himself, with no reference to a doc?

H

fkuehne
Developer
Developer
Posts: 7241
Joined: 16 Mar 2004 19:37
VLC version: 0.4.6 - present
Operating System: Darwin
Location: Germany
Contact:

Re: Capture using EyeTV plugin gives playback with artifacts

Postby fkuehne » 27 Jul 2009 18:34

These options were probably taken from VLC's command-line or Quovodis or me posted them somewhere. Can't remember...
EyeTV input (access_eyetv)
--eyetv-channel <integer> Channel number
--eyetv-caching <integer> Caching value in ms
VideoLAN
Felix Paul Kühne
Medic. VLC developer for appleOS since before you were born.
Blog: https://www.feepk.net

cbscpe
New Cone
New Cone
Posts: 6
Joined: 04 Apr 2011 09:31

Re: Capture using EyeTV plugin gives playback with artifacts

Postby cbscpe » 04 Apr 2011 09:52

I think I have found one reason why you get a lot of the error messages like

libdvbpsi error (PSI decoder): TS discontinuity (received 12, expected 11) for PID 18

and hence a lot of artifacts when using the EyeTV plugin. In the code of eyetvplugin.c (as in the tarball of VLC 1.1.8 ) you have the following logic to flush the buffer from eyeTV to VLC

Code: Select all

if( packetBufferSize <= (sizeof(packetBuffer)-sizeof(TransportStreamPacket)) ) { /* copy packet in our buffer */ memcpy(packetBuffer+packetBufferSize, *packets, sizeof(TransportStreamPacket)); packetBufferSize += sizeof(TransportStreamPacket); } else { /* flush buffer to VLC */ ssize_t sent = write(i_vlcSock, packetBuffer, packetBufferSize); if( sent != packetBufferSize ) { if( sent == -1 ) printf("data sending failed (errno=%d)\n", errno); else printf("data sending incomplete (sent=%d)\n", sent); close(i_vlcSock); i_vlcSock = -1; return 0; } packetBufferSize = 0; }
so if packetBuffer gets full you only flush the current buffer but don't copy the packet. So whenever you receive more then 20 packets (constant used to set the size of packetBuffer) from EyeTV when VLCEyeTVPluginPacketsArrived is called you skip one MPEG Transport Stream Packet. You should change the logic to also include this packet ;-)

Regards


Peter

fkuehne
Developer
Developer
Posts: 7241
Joined: 16 Mar 2004 19:37
VLC version: 0.4.6 - present
Operating System: Darwin
Location: Germany
Contact:

Re: Capture using EyeTV plugin gives playback with artifacts

Postby fkuehne » 04 Apr 2011 16:14

As said in my PM, I've submitted your patch to the code repository and will release an updated version of the plugin as soon as I've got my testing device back (so later this week).

Thanks a lot for your contribution!
VideoLAN
Felix Paul Kühne
Medic. VLC developer for appleOS since before you were born.
Blog: https://www.feepk.net

rael
New Cone
New Cone
Posts: 1
Joined: 19 Apr 2011 01:52

Re: Capture using EyeTV plugin gives playback with artifacts

Postby rael » 19 Apr 2011 01:58

Hi Felix,

Were you able to update the plugin with these changes? I'd be happy to test.

Thanks

miah
New Cone
New Cone
Posts: 1
Joined: 17 May 2011 08:28

Re: Capture using EyeTV plugin gives playback with artifacts

Postby miah » 17 May 2011 08:46

Felix,

I'd like to report success using new code for the EyeTV plugin and it's actually solved an annoying problem that I've been having since I bought the thing 6 months ago. I live on the campus of the University of Colorado at Boulder (USA) and my digital cable is weird, such that I get a black screen when I try to watch the digital channels (or recordings of them) in the EyeTV application. I can however watch the recording files in VLC. Elgato support has been unable to help me solve this, and I had tried previously to get the VLC plugin to work, which resulted in an unwatchable amount of screen artifacts and sound stuttering.

Today I grabbed the source of VLC from git and compiled (just) the EyeTV plugin from the current source, this results in perfect live video and audio from my digital channels.

Thanks for updating this, it's made this device a lot more worth while for me.

Jeremiah McConnell

mike9285
New Cone
New Cone
Posts: 1
Joined: 31 Aug 2011 07:00

Re: Capture using EyeTV plugin gives playback with artifacts

Postby mike9285 » 31 Aug 2011 07:04

Jeremiah, can you post the updated plugin? I can't seem to get it to compile.


Return to “VLC media player for macOS Troubleshooting”

Who is online

Users browsing this forum: No registered users and 22 guests