C0D3D3V / bbb-dl

Downlaod BigBlueButton recordings. A simple scrapper for Big Blue Button lessons. Download and merge the audio and video files of a BigBlueButton conference from the conference replay url.
MIT License
65 stars 16 forks source link

Any way to make this working for scalelite ? #13

Closed NiTRoeSE closed 2 years ago

NiTRoeSE commented 2 years ago

Hi, i tried this script in combination with scalelite but it dont work. The Script expects a bbb_version which scalelite dont have.

`[BBB] Downloading meta informations
[BBB] 9d080e3b55571b6c585b2bf79fe34677320ef256-1638794402296: Downloading webpage
[BBB] 9d080e3b55571b6c585b2bf79fe34677320ef256-1638794402296: Downloading XML
[BBB] 9d080e3b55571b6c585b2bf79fe34677320ef256-1638794402296: Downloading XML
[BBB] 9d080e3b55571b6c585b2bf79fe34677320ef256-1638794402296: Downloading XML
Traceback (most recent call last):
  File "/usr/local/bin/bbb-dl", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/dist-packages/bbb_dl/main.py", line 717, in main
    BBBDL(args.verbose, args.no_check_certificate, args.encoder, args.filename, args.audiocodec).run(
  File "/usr/local/lib/python3.8/dist-packages/bbb_dl/main.py", line 125, in run
    bbb_version = xpath_text(meta, 'bbb-origin-version').split(' ')[0]
AttributeError: 'NoneType' object has no attribute 'split'`

Maybe there are more problems to get it work with scalelite ?

Is there any way / chance to make this working for scalelite ?

Thanks in advanced !

C0D3D3V commented 2 years ago

can you send me a puclic url to your instance so I can make some tests? Maybe you can send me a recoreded lecture...

NiTRoeSE commented 2 years ago

can you send me a puclic url to your instance so I can make some tests? Maybe you can send me a recoreded lecture...

Yes, any way to send it private ?

C0D3D3V commented 2 years ago

email is in my profil, telegram @c0d3d3v

NiTRoeSE commented 2 years ago

email is in my profil, telegram @C0D3D3V

Hi, you have received a mail with link to a test recording.

Thank you !

C0D3D3V commented 2 years ago

xD Sorry, I had unfortunately found no time until now and the issue actually also completely forgotten. Could you possibly send me again a link, the old link has expired.

C0D3D3V commented 2 years ago

Also please test the latest version. You can update by running: pip install -U bbb-dl

NiTRoeSE commented 2 years ago

xD Sorry, I had unfortunately found no time until now and the issue actually also completely forgotten. Could you possibly send me again a link, the old link has expired.

no problem .. link is comes via pn.

NiTRoeSE commented 2 years ago

Also please test the latest version. You can update by running: pip install -U bbb-dl

Nice, latest version is working with scalelite. 👍 Only thing which happens is that the script always try to download deskshare.mp4 / deskshare.webm (even if its not present ) which fails if you have a recording without a desktop sharing.

Error :

ERROR: unable to download video data: HTTP Error 404: Not Found
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 1976, in process_info
    success = dl(filename, info_dict)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 1915, in dl
    return fd.download(name, info)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/downloader/common.py", line 366, in download
    return self.real_download(filename, info_dict)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/downloader/http.py", line 351, in real_download
    establish_connection()
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/downloader/http.py", line 116, in establish_connection
    raise err
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/downloader/http.py", line 110, in establish_connection
    ctx.data = self.ydl.urlopen(request)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 2288, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found

[BBB] Downloading deskshare.mp4
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://url.de/presentation/556c0adfe16460d8b43faaaba84a9f374cd60c2b-1643200768959/deskshare/deskshare.mp4'
ERROR: unable to download video data: HTTP Error 404: Not Found
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 1976, in process_info
    success = dl(filename, info_dict)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 1915, in dl
    return fd.download(name, info)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/downloader/common.py", line 366, in download
    return self.real_download(filename, info_dict)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/downloader/http.py", line 351, in real_download
    establish_connection()
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/downloader/http.py", line 116, in establish_connection
    raise err
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/downloader/http.py", line 110, in establish_connection
    ctx.data = self.ydl.urlopen(request)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 2288, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/nitro/bbb-dl/bbb_dl/main.py", line 263, in run
    self.ydl.process_ie_result(deskshare_dl)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 881, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 1692, in process_video_result
    self.process_info(new_info)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 1978, in process_info
    self.report_error('unable to download video data: %s' % error_to_compat_str(err))
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 628, in report_error
    self.trouble(error_message, tb)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 598, in trouble
    raise DownloadError(message, exc_info)
youtube_dl.utils.DownloadError: ERROR: unable to download video data: HTTP Error 404: Not Found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 1976, in process_info
    success = dl(filename, info_dict)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 1915, in dl
    return fd.download(name, info)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/downloader/common.py", line 366, in download
    return self.real_download(filename, info_dict)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/downloader/http.py", line 351, in real_download
    establish_connection()
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/downloader/http.py", line 116, in establish_connection
    raise err
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/downloader/http.py", line 110, in establish_connection
    ctx.data = self.ydl.urlopen(request)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 2288, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found

And one additional question:

I noticed that video quality is not really good, its ok but the quality in web recording player is significant better. Is there a way to tweak quality settings ?

Thanks in advanced

C0D3D3V commented 2 years ago

The errors are only displayed so extensively in verbose mode. I could also turn them off completely, to do this you would only have to enable the parameter ignoreerrors during the processing of these requests, I think I'll build that quickly in, thanks for the suggestion. To prevent the output you would have to override the trouble function of youtbe-dl. But I think it is ok that the error is output in verbose mode.

How exactly does the poor quality manifest itself? Basically we download the best quality, it just depends on the ffmpeg parameters what comes out of it. What I have already noticed is that depending on the resolution it can happen that the deskshare is distorted, which is not intended, actually the deskshare should remain exactly as it is only with possibly additional black bars.

C0D3D3V commented 2 years ago

Please open a new issue where we can address the quality issues.