mpv icon indicating copy to clipboard operation
mpv copied to clipboard

Streaming some videos from rumble.com results broken video

Open orbea opened this issue 6 months ago • 3 comments

mpv Information

mpv v0.40.0-119-g1d1535ff9 Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
libplacebo version: v7.350.0 (v7.349.0-65-g2bd627f8-dirty)
FFmpeg version: 7.1.1
FFmpeg library versions:
   libavcodec      61.19.101
   libavdevice     61.3.100
   libavfilter     10.4.100
   libavformat     61.7.100
   libavutil       59.39.100
   libswresample   5.3.100
   libswscale      8.3.100

Other Information

- Linux version: `Gentoo`
- Kernel Version: `6.12.29`
- GPU Model: `[AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] [1002:731f] (rev c1)`
- Mesa/GPU Driver Version: `4.6 (Compatibility Profile) Mesa 25.2.0-devel (git-6458880594)`
- Window Manager and Version: Spectrwm (https://github.com/conformal/spectrwm/commit/5dcffa21804f9cebc857d2a6931c2bd6f7380139)
- yt-dlp Version: `2025.05.28`
- Source of mpv: Gentoo ebuild
- Latest known working version: Unknown
- Issue started after the following happened: I think it broke after Rumble changed something?

Reproduction Steps

Trying to stream certain videos (Others work) from rumble.com with mpv --no-config, I also tried adding --profile=fast and --hwdec=yes.

Expected Behavior

The videos should be able to stream using mpv with yt-dlp.

Actual Behavior

When streaming videos from rumble.com with mpv and yt-dlp the video will be a slow moving and blurry slideshow while audio works as expected. When downloading the video with yt-dlp and then watching it with mpv it will work.

Log File

output.txt

Sample Files

The clips from the Jimmy Dore consistently reproduce this, for example the three most recent ones. (No comment on the videos since I haven't watched them)

https://rumble.com/v6ty48b-how-to-clear-plastic-nanoparticles-that-are-invading-our-brains-w-kim-brigh.html https://rumble.com/v6tuair-major-banks-impending-collapse-predicted-w-carol-roth.html https://rumble.com/v6tuamx-tim-dillon-schools-unbearable-cnn-host-on-basic-comedy-facts.html

I carefully read all instruction and confirm that I did the following:

  • [x] I tested with the latest mpv version to validate that the issue is not already fixed.
  • [x] I provided all required information including system and mpv version.
  • [x] I produced the log file with the exact same set of files, parameters, and conditions used in "Reproduction Steps", with the addition of --log-file=output.txt.
  • [x] I produced the log file while the behaviors described in "Actual Behavior" were actively observed.
  • [x] I attached the full, untruncated log file.
  • [x] I attached the backtrace in the case of a crash.

orbea avatar May 28 '25 03:05 orbea

From your logs I see that yt-dlp extracted video that is 0.5 fps. This is probably why video looks like slideshow.

$ mpv https://1a-1791.com/video/fww1/64/s8/2/z/z/k/N/zzkNy.Faa.mp4 --audio-file=https://1a-1791.com/video/fww1/64/s8/2/z/z/k/N/zzkNy.Gaa.aac
[ffmpeg/demuxer] aac: Estimating duration from bitrate, this may be inaccurate
● Video  --vid=1  (h264 320x180 0.5 fps) [default]
● Audio  --aid=1  'zzkNy.Gaa.aac' (aac 2ch 48000 Hz 192 kbps) [external]
File tags:
 Comment: encoded by Rumble.com
Using hardware decoding (vulkan).
AO: [pipewire] 48000Hz stereo 2ch floatp
VO: [gpu-next] 320x180 vulkan[nv12]

Looking into what yt-dlp extracts from url is below. But mpv incorrectly selects 180p video by default.

$ yt-dlp -F https://rumble.com/v6tuamx-tim-dillon-schools-unbearable-cnn-host-on-basic-comedy-facts.html                           
[Rumble] Extracting URL: https://rumble.com/v6tuamx-tim-dillon-schools-unbearable-cnn-host-on-basic-comedy-facts.html
[Rumble] v6tuamx-tim-dillon-schools-unbearable-cnn-host-on-basic-comedy-facts.html: Downloading webpage
[RumbleEmbed] Extracting URL: https://rumble.com/embed/v6rnee3
[RumbleEmbed] v6rnee3: Downloading JSON metadata
[RumbleEmbed] v6rnee3: Downloading m3u8 information
[info] Available formats for v6rnee3:
ID            EXT RESOLUTION │   FILESIZE   TBR PROTO │ VCODEC     VBR ACODEC      ABR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────
audio-192p    aac audio only │   11.90MiB  191k https │ audio only     aac        191k
timeline-180p mp4 320x180    │  754.04KiB   11k https │ unknown    11k video only      Timeline
hls-680       mp4 640x360    │ ~ 42.07MiB  680k m3u8  │ unknown        unknown
hls-1058      mp4 854x480    │ ~ 65.46MiB 1058k m3u8  │ unknown        unknown
hls-2144      mp4 1280x720   │ ~132.65MiB 2144k m3u8  │ unknown        unknown
hls-4122      mp4 1920x1080  │ ~255.03MiB 4122k m3u8  │ unknown        unknown

mpv uses bestvideo+bestaudio/best by default.

$ yt-dlp -f 'bestvideo+bestaudio/best' -g https://rumble.com/v6tuamx-tim-dillon-schools-unbearable-cnn-host-on-basic-comedy-facts.html                  
https://1a-1791.com/video/fww1/64/s8/2/z/z/k/N/zzkNy.Faa.mp4
https://1a-1791.com/video/fww1/64/s8/2/z/z/k/N/zzkNy.Gaa.aac

Using recommended format by yt-dlp selects 1080p video.

$ yt-dlp -f 'bestvideo*+bestaudio/best' -g https://rumble.com/v6tuamx-tim-dillon-schools-unbearable-cnn-host-on-basic-comedy-facts.html
https://1a-1791.com/video/fww1/64/s8/2/z/z/k/N/zzkNy.haa.tar?r_file=chunklist.m3u8&r_type=application%2Fvnd.apple.mpegurl&r_range=267848192-267853425

Fix

Force mpv to use recommended format bestvideo*+bestaudio/best by yt-dlp.

$ mpv --no-config --ytdl-format='bestvideo*+bestaudio/best' https://rumble.com/v6tuamx-tim-dillon-schools-unbearable-cnn-host-on-basic-comedy-facts.html
● Video  --vid=1                   (h264 1920x1080 29.97 fps)
● Audio  --aid=1                   (aac 2ch 48000 Hz)
● Subs   --sid=1  --slang=en-auto  'English (auto)' (webvtt) [external]
File tags:
 Date: 20250525
 Uploader: The Jimmy Dore Show
 Channel_URL: https://rumble.com/c/TheJimmyDoreShow
Using hardware decoding (vulkan).
AO: [pipewire] 48000Hz stereo 2ch floatp
VO: [gpu-next] 1920x1080 vulkan[nv12]

System Info

software version
linux Gentoo
kernel 6.15.0
gpu AMD Radeon RX 6900 XT (RADV NAVI21)
mesa 25.1.99 (104861795) 41a18a27b005cebffc2164671ca2b1f827881321
wm sway 8d3a52aa3076a34b008aed8ba142c955329a8874
yt-dlp 2025.05.23 52f9729c9a92ad4656d746ff0b1acecb87b3e96d
ffmpeg N-119676-ga79720e10f a79720e10f30e9fd18bd78242ce96dde06461343
libplacebo 72fb3c64b14f7b32b2868448572043e6ee4af49b
mpv v0.40.0-119-g1d1535ff9 1d1535ff9124fdeb3c81a2f089551e2cc8404613

e2dk4r avatar May 28 '25 07:05 e2dk4r

That works, thanks. Why did it work for me if I used yt-dlp to download the video rather than using mpv to stream the video?

orbea avatar May 28 '25 13:05 orbea

I worded confusingly that yt-dlp selects 1080p video by default. My previous comment now edited to clear confusion.

e2dk4r avatar May 28 '25 17:05 e2dk4r