All of lore.kernel.org
 help / color / mirror / Atom feed
* How do you capture (raw) VBI on Linux?
@ 2021-07-12 23:16 Steven Zakulec
  2021-07-13  1:29 ` Lucas
  0 siblings, 1 reply; 4+ messages in thread
From: Steven Zakulec @ 2021-07-12 23:16 UTC (permalink / raw)
  To: linux-media

HI, I am writing to the Linux-media mailing list in hopes that someone
can share how the /dev/vbi device can be captured from under Linux to
disk so it can be processed back into captions.

I've tried a long list of items (listed below), and the only success
I've had under Linux is using old Hauppauge PVR (150 & 250) PCI cards,
and extracting the embedded VBI data from those captures.

I can successfully display closed captions on my Hauppauge HVR-950q
USB device with "zvbi-ntsc-cc -d /dev/vbi0 -c" as long as I start a
capture first in one terminal, then run that command in a second
terminal, so I know that card works.

With my Hauppauge HVR-950q, I've tried the following items:
cat /dev/vbi (both before, during, and after a capture is started on the card

Trying to use ffmpeg to capture /dev/vbi - unclear if this is even
supposed to work, and if so, what the proper commands are

I've tried using zvbi to capture the captions- at best, I can get the
text dumped to a file, but no timestamps, or raw/sliced VBI that I
could convert using ccextractor into a subtitle file.
I had thought one of the commands below should work based on the
descriptions from --help.
zvbi-ntsc-cc -d /dev/vbi0 -r -C vbi.bin
zvbi-ntsc-cc -d /dev/vbi0 -r -R -C vbi.bin

I've tried some of the test tools in the zvbi source code test folder,
but it's not entirely clear if they work with NTSC closed captions.

I'm on Kubuntu 20.04 with kernel 5.4.0-77-generic.

If anyone knows an application/device combination (any Linux OS),
please let me know- this seems totally possible, I just can't figure
out how to make it happen.
Thank you in advance for any insights or guidance you can provide here.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How do you capture (raw) VBI on Linux?
  2021-07-12 23:16 How do you capture (raw) VBI on Linux? Steven Zakulec
@ 2021-07-13  1:29 ` Lucas
  2021-07-13  3:39   ` Steven Zakulec
  0 siblings, 1 reply; 4+ messages in thread
From: Lucas @ 2021-07-13  1:29 UTC (permalink / raw)
  To: linux-media

I pieced this together myself, from Internet searches, in 2013:

Since (at that time at least) zvbi-ntsc-cc was ignoring null bytes the
time codes ended up being "significantly off," according to my
findings and those of the author of the program I've been using, I
switched completely to using it: https://github.com/codeman38/zvbi2raw

To use it to capture the raw VBI information, here's the command I use:
zvbi2raw -d /dev/vbi0 > file.vbi

Then, I convert it to a .srt file with ccextractor as you expected:
ccextractor -in=raw ./file.vbi -o ./file.srt

If you want to change the time offset in the .srt file, you can use a
program from the libsubtitles-perl package in debian (I didn't find it
in debian back then, so I compiled the source in its "subtitles-1.00"
directory).  The program is subs, and here's how it can be used to
subtract five minutes from every time in the .srt file (with -i, it
edits in-place, but keeps a (.bak) backup file of the previous
version, but I think repeating the command will lose your initial
version):
subs -i -b -5:00 file.srt

It took me a lot longer to figure out than it probably will with this
for you, but I didn't ask the mailing list. ;)

I hope that helps,

  Lucas


On Mon, Jul 12, 2021 at 6:21 PM Steven Zakulec <spzakulec@gmail.com> wrote:
>
> HI, I am writing to the Linux-media mailing list in hopes that someone
> can share how the /dev/vbi device can be captured from under Linux to
> disk so it can be processed back into captions.
>
> I've tried a long list of items (listed below), and the only success
> I've had under Linux is using old Hauppauge PVR (150 & 250) PCI cards,
> and extracting the embedded VBI data from those captures.
>
> I can successfully display closed captions on my Hauppauge HVR-950q
> USB device with "zvbi-ntsc-cc -d /dev/vbi0 -c" as long as I start a
> capture first in one terminal, then run that command in a second
> terminal, so I know that card works.
>
> With my Hauppauge HVR-950q, I've tried the following items:
> cat /dev/vbi (both before, during, and after a capture is started on the card
>
> Trying to use ffmpeg to capture /dev/vbi - unclear if this is even
> supposed to work, and if so, what the proper commands are
>
> I've tried using zvbi to capture the captions- at best, I can get the
> text dumped to a file, but no timestamps, or raw/sliced VBI that I
> could convert using ccextractor into a subtitle file.
> I had thought one of the commands below should work based on the
> descriptions from --help.
> zvbi-ntsc-cc -d /dev/vbi0 -r -C vbi.bin
> zvbi-ntsc-cc -d /dev/vbi0 -r -R -C vbi.bin
>
> I've tried some of the test tools in the zvbi source code test folder,
> but it's not entirely clear if they work with NTSC closed captions.
>
> I'm on Kubuntu 20.04 with kernel 5.4.0-77-generic.
>
> If anyone knows an application/device combination (any Linux OS),
> please let me know- this seems totally possible, I just can't figure
> out how to make it happen.
> Thank you in advance for any insights or guidance you can provide here.



-- 
Protect your digital freedom and privacy, eliminate DRM, learn more at
http://www.defectivebydesign.org/what_is_drm
On a related note, also see https://www.fsf.org/campaigns/surveillance

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How do you capture (raw) VBI on Linux?
  2021-07-13  1:29 ` Lucas
@ 2021-07-13  3:39   ` Steven Zakulec
  2021-07-13  4:25     ` Lucas
  0 siblings, 1 reply; 4+ messages in thread
From: Steven Zakulec @ 2021-07-13  3:39 UTC (permalink / raw)
  To: Lucas; +Cc: linux-media

This worked exactly as you described- I had to install the libzvbi
devel headers, then a simple make of zvbi2raw let me use the program
with the exact command you provided.

Thank you so much for this!
I spent a ton of time searching and I just didn't have the right keywords.

On Mon, Jul 12, 2021 at 9:30 PM Lucas <jaffa225man@gmail.com> wrote:
>
> I pieced this together myself, from Internet searches, in 2013:
>
> Since (at that time at least) zvbi-ntsc-cc was ignoring null bytes the
> time codes ended up being "significantly off," according to my
> findings and those of the author of the program I've been using, I
> switched completely to using it: https://github.com/codeman38/zvbi2raw
>
> To use it to capture the raw VBI information, here's the command I use:
> zvbi2raw -d /dev/vbi0 > file.vbi
>
> Then, I convert it to a .srt file with ccextractor as you expected:
> ccextractor -in=raw ./file.vbi -o ./file.srt
>
> If you want to change the time offset in the .srt file, you can use a
> program from the libsubtitles-perl package in debian (I didn't find it
> in debian back then, so I compiled the source in its "subtitles-1.00"
> directory).  The program is subs, and here's how it can be used to
> subtract five minutes from every time in the .srt file (with -i, it
> edits in-place, but keeps a (.bak) backup file of the previous
> version, but I think repeating the command will lose your initial
> version):
> subs -i -b -5:00 file.srt
>
> It took me a lot longer to figure out than it probably will with this
> for you, but I didn't ask the mailing list. ;)
>
> I hope that helps,
>
>   Lucas
>
>
> On Mon, Jul 12, 2021 at 6:21 PM Steven Zakulec <spzakulec@gmail.com> wrote:
> >
> > HI, I am writing to the Linux-media mailing list in hopes that someone
> > can share how the /dev/vbi device can be captured from under Linux to
> > disk so it can be processed back into captions.
> >
> > I've tried a long list of items (listed below), and the only success
> > I've had under Linux is using old Hauppauge PVR (150 & 250) PCI cards,
> > and extracting the embedded VBI data from those captures.
> >
> > I can successfully display closed captions on my Hauppauge HVR-950q
> > USB device with "zvbi-ntsc-cc -d /dev/vbi0 -c" as long as I start a
> > capture first in one terminal, then run that command in a second
> > terminal, so I know that card works.
> >
> > With my Hauppauge HVR-950q, I've tried the following items:
> > cat /dev/vbi (both before, during, and after a capture is started on the card
> >
> > Trying to use ffmpeg to capture /dev/vbi - unclear if this is even
> > supposed to work, and if so, what the proper commands are
> >
> > I've tried using zvbi to capture the captions- at best, I can get the
> > text dumped to a file, but no timestamps, or raw/sliced VBI that I
> > could convert using ccextractor into a subtitle file.
> > I had thought one of the commands below should work based on the
> > descriptions from --help.
> > zvbi-ntsc-cc -d /dev/vbi0 -r -C vbi.bin
> > zvbi-ntsc-cc -d /dev/vbi0 -r -R -C vbi.bin
> >
> > I've tried some of the test tools in the zvbi source code test folder,
> > but it's not entirely clear if they work with NTSC closed captions.
> >
> > I'm on Kubuntu 20.04 with kernel 5.4.0-77-generic.
> >
> > If anyone knows an application/device combination (any Linux OS),
> > please let me know- this seems totally possible, I just can't figure
> > out how to make it happen.
> > Thank you in advance for any insights or guidance you can provide here.
>
>
>
> --
> Protect your digital freedom and privacy, eliminate DRM, learn more at
> http://www.defectivebydesign.org/what_is_drm
> On a related note, also see https://www.fsf.org/campaigns/surveillance

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How do you capture (raw) VBI on Linux?
  2021-07-13  3:39   ` Steven Zakulec
@ 2021-07-13  4:25     ` Lucas
  0 siblings, 0 replies; 4+ messages in thread
From: Lucas @ 2021-07-13  4:25 UTC (permalink / raw)
  To: Steven Zakulec; +Cc: linux-media

You're quite welcome, and I'm so glad it works for you too!  I spent a
lot of time, and documented every new lead, back then.  I doubt these
three simple commands appear consolidated until now, so when I saw
your question I felt I had to share my experience.

Good luck in the future!

On Mon, Jul 12, 2021 at 10:39 PM Steven Zakulec <spzakulec@gmail.com> wrote:
>
> This worked exactly as you described- I had to install the libzvbi
> devel headers, then a simple make of zvbi2raw let me use the program
> with the exact command you provided.
>
> Thank you so much for this!
> I spent a ton of time searching and I just didn't have the right keywords.
>
> On Mon, Jul 12, 2021 at 9:30 PM Lucas <jaffa225man@gmail.com> wrote:
> >
> > I pieced this together myself, from Internet searches, in 2013:
> >
> > Since (at that time at least) zvbi-ntsc-cc was ignoring null bytes the
> > time codes ended up being "significantly off," according to my
> > findings and those of the author of the program I've been using, I
> > switched completely to using it: https://github.com/codeman38/zvbi2raw
> >
> > To use it to capture the raw VBI information, here's the command I use:
> > zvbi2raw -d /dev/vbi0 > file.vbi
> >
> > Then, I convert it to a .srt file with ccextractor as you expected:
> > ccextractor -in=raw ./file.vbi -o ./file.srt
> >
> > If you want to change the time offset in the .srt file, you can use a
> > program from the libsubtitles-perl package in debian (I didn't find it
> > in debian back then, so I compiled the source in its "subtitles-1.00"
> > directory).  The program is subs, and here's how it can be used to
> > subtract five minutes from every time in the .srt file (with -i, it
> > edits in-place, but keeps a (.bak) backup file of the previous
> > version, but I think repeating the command will lose your initial
> > version):
> > subs -i -b -5:00 file.srt
> >
> > It took me a lot longer to figure out than it probably will with this
> > for you, but I didn't ask the mailing list. ;)
> >
> > I hope that helps,
> >
> >   Lucas
> >
> >
> > On Mon, Jul 12, 2021 at 6:21 PM Steven Zakulec <spzakulec@gmail.com> wrote:
> > >
> > > HI, I am writing to the Linux-media mailing list in hopes that someone
> > > can share how the /dev/vbi device can be captured from under Linux to
> > > disk so it can be processed back into captions.
> > >
> > > I've tried a long list of items (listed below), and the only success
> > > I've had under Linux is using old Hauppauge PVR (150 & 250) PCI cards,
> > > and extracting the embedded VBI data from those captures.
> > >
> > > I can successfully display closed captions on my Hauppauge HVR-950q
> > > USB device with "zvbi-ntsc-cc -d /dev/vbi0 -c" as long as I start a
> > > capture first in one terminal, then run that command in a second
> > > terminal, so I know that card works.
> > >
> > > With my Hauppauge HVR-950q, I've tried the following items:
> > > cat /dev/vbi (both before, during, and after a capture is started on the card
> > >
> > > Trying to use ffmpeg to capture /dev/vbi - unclear if this is even
> > > supposed to work, and if so, what the proper commands are
> > >
> > > I've tried using zvbi to capture the captions- at best, I can get the
> > > text dumped to a file, but no timestamps, or raw/sliced VBI that I
> > > could convert using ccextractor into a subtitle file.
> > > I had thought one of the commands below should work based on the
> > > descriptions from --help.
> > > zvbi-ntsc-cc -d /dev/vbi0 -r -C vbi.bin
> > > zvbi-ntsc-cc -d /dev/vbi0 -r -R -C vbi.bin
> > >
> > > I've tried some of the test tools in the zvbi source code test folder,
> > > but it's not entirely clear if they work with NTSC closed captions.
> > >
> > > I'm on Kubuntu 20.04 with kernel 5.4.0-77-generic.
> > >
> > > If anyone knows an application/device combination (any Linux OS),
> > > please let me know- this seems totally possible, I just can't figure
> > > out how to make it happen.
> > > Thank you in advance for any insights or guidance you can provide here.
> >
> >
> >
> > --
> > Protect your digital freedom and privacy, eliminate DRM, learn more at
> > http://www.defectivebydesign.org/what_is_drm
> > On a related note, also see https://www.fsf.org/campaigns/surveillance



-- 
Protect your digital freedom and privacy, eliminate DRM, learn more at
http://www.defectivebydesign.org/what_is_drm
On a related note, also see https://www.fsf.org/campaigns/surveillance

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-07-13  4:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-12 23:16 How do you capture (raw) VBI on Linux? Steven Zakulec
2021-07-13  1:29 ` Lucas
2021-07-13  3:39   ` Steven Zakulec
2021-07-13  4:25     ` Lucas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.