Repository: yt-dlp
Issue: pixeldrain.com Site support request
Labels: site-request

### DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

- [X] I understand that I will be **blocked** if I *intentionally* remove or skip any mandatory\* field

### Checklist

- [X] I'm reporting a new site support request
- [X] I've verified that I'm running yt-dlp version **2023.03.04** ([update instructions](https://github.com/yt-dlp/yt-dlp#update)) or later (specify commit)
- [X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
- [X] I've checked that none of provided URLs [violate any copyrights](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#is-the-website-primarily-used-for-piracy) or contain any [DRM](https://en.wikipedia.org/wiki/Digital_rights_management) to the best of my knowledge
- [X] I've searched [known issues](https://github.com/yt-dlp/yt-dlp/issues/3766) and the [bugtracker](https://github.com/yt-dlp/yt-dlp/issues?q=) for similar issues **including closed ones**. DO NOT post duplicates
- [X] I've read the [guidelines for opening an issue](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#opening-an-issue)
- [ ] I've read about [sharing account credentials](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#are-you-willing-to-share-account-details-if-needed) and am willing to share it if required

### Region

_No response_

### Example URLs

Single Video: https://pixeldrain.com/u/VFjemoqC

### Provide a description that is worded well enough to be understood

yt-dlp *does* actually work by default in downloading the video.  It's just that the filename and extensions are screwed up, and so it crashes when it tries to write the metadata.

### Provide verbose output that clearly demonstrates the problem

- [X] Run **your** yt-dlp command with **-vU** flag added (`yt-dlp -vU <your command line>`)
- [ ] If using API, add `'verbose': True` to `YoutubeDL` params instead
- [X] Copy the WHOLE output (starting with `[debug] Command-line config`) and insert it below

### Complete Verbose Output

```shell
$ yt-dlp -wv --no-cache-dir --geo-bypass --write-thumbnail --restrict-filenames -o "%(uploader)s-%(upload_date)s-%(title)s-%(id)s.%(ext)s" --add-metadata https://pixeldrain.com/u/VFjemoqC

[debug] Command-line config: ['-wv', '--no-cache-dir', '--geo-bypass', '--write-thumbnail', '--restrict-filenames', '-o', '%(uploader)s-%(upload_date)s-%(title)s-%(id)s.%(ext)s', '--add-metadata', 'https://pixeldrain.com/u/VFjemoqC']
[debug] yt-dlp version nightly@2023.06.08.184733 [d1795f4a6] (zip)
[debug] Python 3.10.9 (CPython x86_64 64bit)
[debug] exe versions: ffmpeg 5.1.2-1 (setts), ffprobe 5.1.2-1, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.11.0, brotli-1.0.9, certifi-2022.09.24, mutagen-1.46.0, pyxattr-0.7.2, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1841 extractors
[generic] Extracting URL: https://pixeldrain.com/u/VFjemoqC
[generic] VFjemoqC: Downloading webpage
[generic] VFjemoqC: Extracting information
[debug] Looking for embeds
[debug] Identified a twitter:player iframe
[generic] Extracting URL: https://pixeldrain.com/api/file/VFjemoqC
[generic] VFjemoqC: Downloading webpage
[debug] Identified a direct video link
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] VFjemoqC: Downloading 1 format(s): fmp4
[info] There are no subtitles for the requested languages
[info] There are no video thumbnails to download
[SubtitlesConvertor] There aren't any subtitles to convert
[debug] Invoking http downloader on "https://pixeldrain.com/api/file/VFjemoqC"
[download] Resuming download at byte 130048
[download] Destination: NA-20230609-VFjemoqC-VFjemoqC.unknown_video
[download] 100% of    1.74MiB in 00:00:06 at 288.13KiB/s
[EmbedSubtitle] Subtitles can only be embedded in mp4, mov, m4a, webm, mkv, mka files
[Metadata] Adding metadata to "NA-20230609-VFjemoqC-VFjemoqC.unknown_video"
[debug] ffmpeg command line: ffmpeg -y -loglevel repeat+info -i file:NA-20230609-VFjemoqC-VFjemoqC.unknown_video -map 0 -dn -ignore_unknown -c copy -write_id3v1 1 -metadata title=VFjemoqC -metadata date=20230609 -metadata purl=https://pixeldrain.com/api/file/VFjemoqC -metadata comment=https://pixeldrain.com/api/file/VFjemoqC -movflags +faststart file:NA-20230609-VFjemoqC-VFjemoqC.temp.unknown_video
[debug] ffmpeg version 5.1.2-1 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 12 (Debian 12.2.0-3)
  configuration: --prefix=/usr --extra-version=1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file:NA-20230609-VFjemoqC-VFjemoqC.unknown_video':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2016-08-26T22:22:16.000000Z
  Duration: 00:00:09.82, start: 0.000000, bitrate: 1489 kb/s
  Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 1280x720, 1362 kb/s, 30 fps, 30 tbr, 90k tbn (default)
    Metadata:
      creation_time   : 2016-08-26T22:22:16.000000Z
      handler_name    : ISO Media file produced by Google Inc.
      vendor_id       : [0][0][0][0]
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
    Metadata:
      creation_time   : 2016-08-26T22:22:16.000000Z
      handler_name    : ISO Media file produced by Google Inc.
      vendor_id       : [0][0][0][0]
[NULL @ 0x55f6f8f2a440] Unable to find a suitable output format for 'file:NA-20230609-VFjemoqC-VFjemoqC.temp.unknown_video'
file:NA-20230609-VFjemoqC-VFjemoqC.temp.unknown_video: Invalid argument

ERROR: Postprocessing: file:NA-20230609-VFjemoqC-VFjemoqC.temp.unknown_video: Invalid argument
Traceback (most recent call last):
  File "/usr/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 3356, in process_info
    replace_info_dict(self.post_process(dl_filename, info_dict, files_to_move))
  File "/usr/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 3536, in post_process
    info = self.run_all_pps('post_process', info, additional_pps=info.get('__postprocessors'))
  File "/usr/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 3518, in run_all_pps
    info = self.run_pp(pp, info)
  File "/usr/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 3496, in run_pp
    files_to_delete, infodict = pp.run(infodict)
  File "/usr/bin/yt-dlp/yt_dlp/postprocessor/common.py", line 24, in run
    ret = func(self, info, *args, **kwargs)
  File "/usr/bin/yt-dlp/yt_dlp/postprocessor/common.py", line 129, in wrapper
    return func(self, info)
  File "/usr/bin/yt-dlp/yt_dlp/postprocessor/ffmpeg.py", line 711, in run
    self.run_ffmpeg_multiple_files(
  File "/usr/bin/yt-dlp/yt_dlp/postprocessor/ffmpeg.py", line 329, in run_ffmpeg_multiple_files
    return self.real_run_ffmpeg(
  File "/usr/bin/yt-dlp/yt_dlp/postprocessor/ffmpeg.py", line 367, in real_run_ffmpeg
    raise FFmpegPostProcessorError(stderr.strip().splitlines()[-1])
yt_dlp.postprocessor.ffmpeg.FFmpegPostProcessorError: file:NA-20230609-VFjemoqC-VFjemoqC.temp.unknown_video: Invalid argument
```