ytdl-webserver icon indicating copy to clipboard operation
ytdl-webserver copied to clipboard

Container crashing with unhandled exception

Open SeeSharpist opened this issue 4 years ago • 2 comments

Recently the docker container started hanging when downloading videos, then crashes the container. Maybe the latest version of ytdl changed how it's called? Running the container without the -d flag shows this error:

      throw er; // Unhandled 'error' event
      ^

Error: Command failed: /home/app/node_modules/@microlink/youtube-dl/bin/youtube-dl --dump-json --format=18 http://www.youtube.com/watch?v=2HKRfKeVS78
WARNING: Assuming --restrict-filenames since file system encoding cannot encode all characters. Set the LC_ALL environment variable to fix this.
ERROR: Signature extraction failed: Traceback (most recent call last):
  File "/home/app/node_modules/@microlink/youtube-dl/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1385, in _decrypt_signature
    video_id, player_url, s
  File "/home/app/node_modules/@microlink/youtube-dl/bin/youtube-dl/youtube_dl/extractor/youtube.py", line 1262, in _extract_signature_function
    raise ExtractorError('Cannot identify player %r' % player_url)
ExtractorError: Cannot identify player u'https://www.youtube.com/s/player/45e4d51d/player_ias.vflset/en_US/base.js'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
 (caused by ExtractorError(u"Cannot identify player u'https://www.youtube.com/s/player/45e4d51d/player_ias.vflset/en_US/base.js'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

    at ChildProcess.exithandler (child_process.js:294:12)
    at ChildProcess.emit (events.js:198:13)
    at maybeClose (internal/child_process.js:982:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
Emitted 'error' event at:
    at getInfo (/home/app/node_modules/@microlink/youtube-dl/lib/youtube-dl.js:153:25)
    at done (/home/app/node_modules/@microlink/youtube-dl/lib/youtube-dl.js:316:21)
    at done (/home/app/node_modules/@microlink/youtube-dl/lib/youtube-dl.js:55:29)
    at ChildProcess.exithandler (child_process.js:301:5)
    at ChildProcess.emit (events.js:198:13)
    at maybeClose (internal/child_process.js:982:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `node ./src/server/server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-04-26T16_08_56_255Z-debug.log```

SeeSharpist avatar Apr 26 '20 16:04 SeeSharpist

Seems like maybe ytdl wasn't updating when running build. I wrote a quick compose file and after using that it's working again. Here it is, if anyone would like it, or wants to improve on it (this just goes in the default directory):

services:
  ytdl:
    build: .
    ports:
      - "3000:3000"
    volumes:
      - /tmp/videos:/home/app/public/temp

SeeSharpist avatar Apr 26 '20 16:04 SeeSharpist

I'm getting errors "YouTube said: Invalid parameters" as well, using the most current container on my Pi. Am I doing something wrong here?

Debug: internal, implementation, error ,
    Error: Uncaught error: Command failed: /home/app/node_modules/youtube-dl/bin/youtube-dl --dump-json --format=18 http://www.youtube.com/watch?v=duuTDCQ0wW0,
WARNING: Assuming --restrict-filenames since file system encoding cannot encode all characters. Set the LC_ALL environment variable to fix this.,
ERROR: duuTDCQ0wW0: YouTube said: Invalid parameters.,
,
    at ChildProcess.exithandler (child_process.js:199:12),
    at emitTwo (events.js:106:13),
    at ChildProcess.emit (events.js:191:7),
    at maybeClose (internal/child_process.js:920:16),
    at Socket.<anonymous> (internal/child_process.js:351:11),
    at emitOne (events.js:96:13),
    at Socket.emit (events.js:188:7),
    at Pipe._handle.close [as _onclose] (net.js:509:12),

yllekz avatar Nov 19 '20 18:11 yllekz