{"id":18513174,"url":"https://github.com/tomzox/python-zvbi","last_synced_at":"2025-05-14T12:17:59.708Z","repository":{"id":57478640,"uuid":"262128121","full_name":"tomzox/Python-ZVBI","owner":"tomzox","description":"Python module providing an object-oriented interface to the ZVBI library (teletext \u0026 closed caption decoding)","archived":false,"fork":false,"pushed_at":"2020-05-30T07:28:38.000Z","size":859,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-19T11:29:25.210Z","etag":null,"topics":["c","capi","closed-captions","demuxer","dvb","python-extension","python3","teletext","v4l2","vbi","videotext","zvbi-library"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tomzox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-07T18:26:49.000Z","updated_at":"2021-10-03T12:38:34.000Z","dependencies_parsed_at":"2022-08-30T09:52:17.673Z","dependency_job_id":null,"html_url":"https://github.com/tomzox/Python-ZVBI","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomzox%2FPython-ZVBI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomzox%2FPython-ZVBI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomzox%2FPython-ZVBI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tomzox%2FPython-ZVBI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tomzox","download_url":"https://codeload.github.com/tomzox/Python-ZVBI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254140782,"owners_count":22021224,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","capi","closed-captions","demuxer","dvb","python-extension","python3","teletext","v4l2","vbi","videotext","zvbi-library"],"created_at":"2024-11-06T15:36:44.132Z","updated_at":"2025-05-14T12:17:59.658Z","avatar_url":"https://github.com/tomzox.png","language":"C","readme":"# ZVBI library interface module for Python\n\nThis repository contains the sources of the \"Zvbi\" module for Python,\nwhich has its official home at [PyPi](https://pypi.org/project/Zvbi/).\nThis module is equivalent to the\n[Video::ZVBI module for Perl](https://metacpan.org/pod/Video::ZVBI).\n\nThis C extension module provides an object-oriented interface to the\n[ZVBI library](http://zapping.sourceforge.net/ZVBI/index.html).\nThe ZVBI library allows accessing television broadcast data services such\nas teletext and closed captions via analog or DVB video capture devices.\n\nOfficial ZVBI library description:\n\n\u003e The ZVBI library provides routines to access raw VBI sampling devices\n\u003e (currently the Linux DVB \u0026amp; V4L2 APIs and the FreeBSD, OpenBSD,\n\u003e NetBSD and BSDi bktr driver API are supported), a versatile raw VBI\n\u003e bit slicer, decoders for various data services and basic search, render\n\u003e and export functions for text pages. The library was written for the\n\u003e Zapping TV viewer and Zapzilla Teletext browser.\n\nThe Zvbi Python module covers all exported libzvbi interfaces.\n\nThe Python interface module is largely based on objects which encapsulate\nthe native C structures of libzvbi. Only when a Python script actually\nwants to manipulate captured or decoded data directly (i.e. not via\nlibrary functions), the structures' data is converted into Python data\ntypes. Even then, Python methods such as the \"buffer protocol\" are used to\navoid unnecessary copying. This approach allows for a pretty snappy\nperformance despite the additional interface layer.\n\nBest starting point to get familiar with the module is having a look at\nthe *Class Hierarchy*, description of the main classes in the\n\u003cA HREF=\"Video-ZVBI/doc/ZVBI.rst\"\u003ePython API documentation\u003c/A\u003e,\nand the example scripts provided in the\n\u003cA HREF=\"Video-ZVBI/examples/\"\u003eexamples/\u003c/A\u003e sub-directory, which\ndemonstrate use of all the main classes.\n(The examples are a more or less direct C to Python ports of the respective\nprograms in the `test/` sub-directory of the libzvbi source tree, plus a\nfew additions, such as a teletext level 2.5 browser implemented in apx.\n300 lines of [Python Tkinter](https://docs.python.org/3/library/tk.html).)\nA description of all example scripts can be found in the API documentation\nin section \"Examples\". Additionally you can look at the\n[ZVBI home](http://zapping.sourceforge.net/ZVBI/index.html) and the\nZVBI library documentation (unfortunately not available online; built via\ndoxygen when compiling the library).\n\n## Module information\n\nModule summary:\n\n* development stage python interface: beta release\n* development stage libzvbi: mature\n* C compiler required for installation\n* support of python interface: by developer\n* support of libzvbi: no longer maintained (last release 2013)\n* object oriented interface\n* licensed under GPL-v2 (GNU General Public License, version 2)\n\nSupported operating systems (as determined by ZVBI library):\n\n* Linux\n* FreeBSD\n* NetBSD\n* OpenBSD\n\n## Installation\n\nPre-requisite to the installation is a C compiler and (obviously) the\n[libzvbi library](http://zapping.sourceforge.net/ZVBI/index.html)\n(oldest supported version is 0.2.26) which in turn requires the\npthreads and PNG libraries. Once you have installed these,\nthe module can be installed in the usual steps:\n\n```console\n    cd Video-ZVBI\n    python3 setup.py test\n    python3 setup.py install\n```\n\nNote there are no dependencies on other Python extension modules by the\nmodule itself. Some of the provided example scripts however depend on\n[Python Tkinter](https://docs.python.org/3/library/tk.html).\n\n## Bug reports\n\nPlease submit bug reports relating to the interface module via email\nto the author (address listed in module meta data).\n\nIf your bug report or request relates to libzvbi rather than the\ninterface module, please contact the libzvbi authors, preferably\nvia the [Zapping](http://zapping.sourceforge.net/) mailing list.\nIn case of capture problems, please make sure to specify which\noperating system and hardware you are using, and of course which\nversion of libzvbi and which version of Python and the ZVBI module\nrespectively.\n\n## Documentation\n\nFor further information please refer to the following files:\n\n* \u003cA HREF=\"Video-ZVBI/doc/ZVBI.rst\"\u003eZVBI.rst\u003c/A\u003e: API documentation\n* \u003cA HREF=\"Video-ZVBI/Changelog\"\u003eChangelog\u003c/A\u003e: Release history \u0026amp; change-log\n* \u003cA HREF=\"Video-ZVBI/doc/README.rst\"\u003eREADME\u003c/A\u003e: same content as on this page\n* \u003cA HREF=\"Video-ZVBI/LICENSE\"\u003eCOPYING\u003c/A\u003e: GPL-v2 license\n\n## Copyright\n\nCopyright (C) 2006-2020 T. Zoerner.\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 2 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut \u003cB\u003ewithout any warranty\u003c/B\u003e; without even the implied warranty of\n\u003cB\u003emerchantability or fitness for a particular purpose\u003c/B\u003e.  See the\n\u003cA HREF=\"LICENSE\"\u003eGNU General Public License\u003c/A\u003e for more details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomzox%2Fpython-zvbi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomzox%2Fpython-zvbi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomzox%2Fpython-zvbi/lists"}