Fubo TV project

I pulled snippets of code from ustvnow and xumo mostly. Though I reviewed all that had source code available, then used anything as needed with additional code needed to pull from the fubo APIs

vlc-bridge-fubo version 1.06 uploaded with additional tvc-guide-stationid data for east coast feeds, NBC Sports Philly, Monumental Sports, and SportsNet Pittsburgh

1 Like

i want to try this with youtube tv.

2 Likes

YTTV has DRM.
VLC Bridge won't de-crypt Widevine DRM used by YTTV.

2 Likes

@joagomez do you think you can do the same thing for hulu tv and or tablo tv. Tablo tv is open source and have and available API

BETA: Support for Tablo tuners (Gen 3) - Channels DVR Server - Channels Community (getchannels.com)

Check this link

1 Like

dang.. I had a working script until about a week ago.

1 Like

I havea list of almost all fubo channels but could have changed.d

2 Likes

can i post a file here?

1 Like

Curious if anyone has installed this on an ARM64 based platform? I'm trying to install on a Synology DS220J and I get an error when running the installs script saying it's trying to install an AMD64 version on the ARM64 platform and it errors out when you try and run it (It shows installed in Docker).

So have been succesful in installing in X64 versions of Synology, but ARM based versions I've not been able to. joagomez has been very helpful but we've hit a wall at this point. Posting the error message I get after the program starts and runs for a few minutes before exiting. Any insight from those much more tuned into programing language than I (it's a very low bar.....)

vlc-bridge-fubo
date	stream	content
2023/11/02 05:58:27	stderr	ModuleNotFoundError: No module named 'flask'
2023/11/02 05:58:27	stderr	    from flask import Flask, request, redirect
2023/11/02 05:58:27	stderr	  File "/app/server.py", line 4, in <module>
2023/11/02 05:58:27	stderr	Traceback (most recent call last):
2023/11/02 05:58:24	stderr	[notice] To update, run: pip install --upgrade pip
2023/11/02 05:58:24	stderr	[notice] A new release of pip is available: 23.0.1 -> 23.3.1
2023/11/02 05:58:24	stderr	
2023/11/02 05:58:24	stderr	note: This error originates from a subprocess, and is likely not a problem with pip.
2023/11/02 05:58:24	stderr	
2023/11/02 05:58:24	stderr	╰─> See above for output.
2023/11/02 05:58:24	stderr	│ exit code: 1
2023/11/02 05:58:24	stderr	× pip subprocess to install build dependencies did not run successfully.
2023/11/02 05:58:24	stderr	
2023/11/02 05:58:24	stderr	error: subprocess-exited-with-error
2023/11/02 05:58:24	stderr	  note: This error originates from a subprocess, and is likely not a problem with pip.
2023/11/02 05:58:24	stderr	  
2023/11/02 05:58:24	stderr	      [end of output]
2023/11/02 05:58:24	stderr	      [notice] To update, run: pip install --upgrade pip
2023/11/02 05:58:24	stderr	      [notice] A new release of pip is available: 23.0.1 -> 23.3.1
2023/11/02 05:58:24	stderr	      
2023/11/02 05:58:24	stderr	      ERROR: Could not build wheels for cffi, which is required to install pyproject.toml-based projects
2023/11/02 05:58:24	stderr	      Failed to build cffi
2023/11/02 05:58:24	stderr	        ERROR: Failed building wheel for cffi
2023/11/02 05:58:24	stderr	        note: This error originates from a subprocess, and is likely not a problem with pip.
2023/11/02 05:58:24	stderr	      
2023/11/02 05:58:24	stderr	            [end of output]
2023/11/02 05:58:24	stderr	            error: command 'gcc' failed: No such file or directory
2023/11/02 05:58:24	stderr	            gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DFFI_BUILDING=1 -I/usr/include/ffi -I/usr/include/libffi -I/usr/local/include/python3.9 -c src/c/_cffi_backend.c -o build/temp.linux-aarch64-cpython-39/src/c/_cffi_backend.o
2023/11/02 05:58:24	stderr	            creating build/temp.linux-aarch64-cpython-39/src/c
2023/11/02 05:58:24	stderr	            creating build/temp.linux-aarch64-cpython-39/src
2023/11/02 05:58:24	stderr	            creating build/temp.linux-aarch64-cpython-39
2023/11/02 05:58:24	stderr	            building '_cffi_backend' extension
2023/11/02 05:58:24	stderr	            running build_ext
2023/11/02 05:58:24	stderr	            copying src/cffi/_cffi_errors.h -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/_embedding.h -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/parse_c_type.h -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/_cffi_include.h -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/api.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/_imp_emulation.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/__init__.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/vengine_cpy.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/cffi_opcode.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/vengine_gen.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/commontypes.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/error.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/verifier.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/ffiplatform.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/recompiler.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/pkgconfig.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/_shimmed_dist_utils.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/backend_ctypes.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/lock.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/cparser.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/setuptools_ext.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            copying src/cffi/model.py -> build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            creating build/lib.linux-aarch64-cpython-39/cffi
2023/11/02 05:58:24	stderr	            creating build/lib.linux-aarch64-cpython-39
2023/11/02 05:58:24	stderr	            creating build
2023/11/02 05:58:24	stderr	            running build_py
2023/11/02 05:58:24	stderr	            running build
2023/11/02 05:58:24	stderr	            running bdist_wheel
2023/11/02 05:58:24	stderr	              parsed = self.parsers.get(option_name, lambda x: x)(value)
2023/11/02 05:58:24	stderr	            !!
2023/11/02 05:58:24	stderr	      
2023/11/02 05:58:24	stderr	                    ********************************************************************************
2023/11/02 05:58:24	stderr	                    See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
2023/11/02 05:58:24	stderr	      
2023/11/02 05:58:24	stderr	                    calls to avoid build errors in the future.
2023/11/02 05:58:24	stderr	                    This deprecation is overdue, please update your project and remove deprecated
2023/11/02 05:58:24	stderr	      
2023/11/02 05:58:24	stderr	                    The license_file parameter is deprecated, use license_files instead.
2023/11/02 05:58:24	stderr	                    ********************************************************************************
2023/11/02 05:58:24	stderr	      
2023/11/02 05:58:24	stderr	            !!
2023/11/02 05:58:24	stderr	            /tmp/pip-build-env-pzci60zt/overlay/lib/python3.9/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg`
2023/11/02 05:58:24	stderr	      
2023/11/02 05:58:24	stderr	                a build done in a different context, you can ignore this warning.
2023/11/02 05:58:24	stderr	                Trying to continue anyway.  If you are trying to install CFFI from
2023/11/02 05:58:24	stderr	      
2023/11/02 05:58:24	stderr	                the IRC channel #python on irc.libera.chat.)
2023/11/02 05:58:24	stderr	                Otherwise, see https://wiki.python.org/moin/CompLangPython or
2023/11/02 05:58:24	stderr	                -mno-fused-madd see http://stackoverflow.com/questions/22313407/
2023/11/02 05:58:24	stderr	                tries to compile C code.  (Hints: on OS/X 10.8, for errors about
2023/11/02 05:58:24	stderr	                to CFFI but generic to the setup.py of any Python package that
2023/11/02 05:58:24	stderr	                the error messages above.  Likely, the problem is not related
2023/11/02 05:58:24	stderr	                the compiler from Python's standard "distutils" module.  See
2023/11/02 05:58:24	stderr	                No working compiler found, or bogus compiler options passed to
2023/11/02 05:58:24	stderr	      
2023/11/02 05:58:24	stderr	        ╰─> [62 lines of output]
2023/11/02 05:58:24	stderr	        │ exit code: 1
2023/11/02 05:58:24	stderr	        × Building wheel for cffi (pyproject.toml) did not run successfully.
2023/11/02 05:58:24	stderr	      
2023/11/02 05:58:24	stderr	        error: subprocess-exited-with-error
2023/11/02 05:58:24	stderr	        Building wheel for cffi (pyproject.toml): finished with status 'error'
2023/11/02 05:58:24	stderr	        Building wheel for cffi (pyproject.toml): started
2023/11/02 05:58:24	stderr	      Building wheels for collected packages: cffi
2023/11/02 05:58:24	stderr	           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.7/118.7 kB 1.5 MB/s eta 0:00:00
2023/11/02 05:58:24	stderr	        Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)
2023/11/02 05:58:24	stderr	      Collecting pycparser
2023/11/02 05:58:24	stderr	           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 5.3 MB/s eta 0:00:00
2023/11/02 05:58:24	stderr	        Downloading greenlet-3.0.1-cp39-cp39-musllinux_1_1_aarch64.whl (1.1 MB)
2023/11/02 05:58:24	stderr	      Collecting greenlet>=3.0rc3
2023/11/02 05:58:24	stderr	        Preparing metadata (pyproject.toml): finished with status 'done'
2023/11/02 05:58:24	stderr	        Preparing metadata (pyproject.toml): started
2023/11/02 05:58:24	stderr	        Installing backend dependencies: finished with status 'done'
2023/11/02 05:58:24	stderr	        Installing backend dependencies: started
2023/11/02 05:58:24	stderr	        Getting requirements to build wheel: finished with status 'done'
2023/11/02 05:58:24	stderr	        Getting requirements to build wheel: started
2023/11/02 05:58:24	stderr	        Installing build dependencies: finished with status 'done'
2023/11/02 05:58:24	stderr	        Installing build dependencies: started
2023/11/02 05:58:24	stderr	           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 512.9/512.9 kB 4.2 MB/s eta 0:00:00
2023/11/02 05:58:24	stderr	        Downloading cffi-1.16.0.tar.gz (512 kB)
2023/11/02 05:58:24	stderr	      Collecting cffi>=1.12.3
2023/11/02 05:58:24	stderr	           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 5.2 MB/s eta 0:00:00
2023/11/02 05:58:24	stderr	        Downloading Cython-3.0.5-cp39-cp39-musllinux_1_1_aarch64.whl (3.5 MB)
2023/11/02 05:58:24	stderr	      Collecting Cython>=3.0.2
2023/11/02 05:58:24	stderr	           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 807.9/807.9 kB 2.0 MB/s eta 0:00:00
2023/11/02 05:58:24	stderr	        Downloading setuptools-68.2.2-py3-none-any.whl (807 kB)
2023/11/02 05:58:24	stderr	      Collecting setuptools>=40.8.0
2023/11/02 05:58:24	stderr	  ╰─> [102 lines of output]
2023/11/02 05:58:24	stderr	  │ exit code: 1
2023/11/02 05:58:24	stderr	  × pip subprocess to install build dependencies did not run successfully.
2023/11/02 05:58:24	stderr	  
2023/11/02 05:58:24	stderr	  error: subprocess-exited-with-error
2023/11/02 05:58:23	stdout	  Installing build dependencies: finished with status 'error'
2023/11/02 05:58:10	stdout	  Installing build dependencies: still running...
2023/11/02 05:57:03	stdout	  Installing build dependencies: started
2023/11/02 05:56:59	stdout	     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.8/5.8 MB 5.5 MB/s eta 0:00:00
2023/11/02 05:56:58	stdout	  Downloading gevent-23.9.1.tar.gz (5.8 MB)
2023/11/02 05:56:58	stdout	Collecting gevent
2 Likes

Got this setup and running in QNAP's Container Station on my TVS-h474 this morning (it has an Intel Pentium Gold G7400 chip). The hardest part was re-learning how to tell QNAP's Container Station to port forward. Would have been way easier, in retrospect, to literally just use the Docker command line to create it. Alas. :slight_smile:

I am noticing that the 4K channels don't work (they work, except all they show is "this content is available in 4K, but you can't show it" (or something like that).

I also had trouble mapping the main NBC station to guide data. It wanted to auto-map to "CREATE" and even after searching it took a bit to find just normal NBC. Alas, all good now, I think (though once I figure out which NBC affiliate it is pulling down, I might try to map directly to that... what have others done?).

Thanks for creating and evolving this! GREAT stuff.

I noticed the 4K stream issue as well. This appears to be because the way I pull the streams from the Fubo API is web based and that those streams can't show the 4K. I've tried different browsers but still have not found one to utilize a 4K stream.

As for the NBC and other affiliates, Fubo doesn't have a mapping between the two. I suppose I could try based on callsign but haven't worked on that yet. When I developed, it was me playing around so never really tried or worried about the affiliates other that the ones I received. However with more using it, may be something I look at in the future.

1 Like

Since the NBC stuff is also removed from TVE guides (near as I can tell), I wound up putting in my zip code and selecting the local Xfinity guide data for my Fubo-VLC-Bridge Source. That gave me what I needed, and now I have the (correct for me) WBTS listing.

something like this would though.. GitHub - ImAleeexx/streamlink-drm

if anyone wants a discount on the first month of Fubo TV or even YTTV, please direct message.
I can hook you up you can't have been a customer before so make sure to use a new address an fubo is still letting people enjoy the 7 day trial.
Oh yeah if you want some of the sports stuff if you use the docker, you don't have to add the sports package.

1 Like

Do you get Bally with the docker method or is it DRMed?

Bally Sports is not DRM.
If you want to save some cash during startup let me know i will drop a code to get you going.
The discount and trial are stackable.

1 Like

Just confirming you mean that the non-sports upgrade still has sports channels available (like NFL Channel, just not redzone)?

can we get a yttv script?

1 Like