Vivaldi doesn't play videos
-
Hi folks,
I'm just trying out this browser. Sadly, it doesn't play any videos. I tested a bit with https://help.vivaldi.com/desktop/media/html5-proprietary-media-on-linux/ and got these error logs from vivaldi://media-internals:
00:00:00.000 origin_url "https://help.vivaldi.com/" 00:00:00.000 kFrameUrl "https://help.vivaldi.com/desktop/media/html5-proprietary-media-on-linux/" 00:00:00.000 kFrameTitle "HTML5 Proprietary Media | Linux | Vivaldi Browser Help" 00:00:00.000 url "https://help.vivaldi.com/wp-content/uploads/2017/12/vivaldi_success.mp4?_=1" 00:00:00.000 kTextTracks [] 00:00:00.003 kTotalBytes 249014 00:00:00.003 kIsStreaming false 00:00:00.003 kIsSingleOrigin true 00:00:00.003 kIsRangeHeaderSupported true 00:00:00.016 pipeline_state "kStarting" 00:00:00.016 info "FFmpegDemuxer: created video stream, config codec: h264, profile: h264 main, level: not available, alpha_mode: is_opaque, coded size: [720,404], visible rect: [0,0,720,404], natural size: [720,404], has extra data: true, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:SMPTE170M, transfer:SMPTE170M, matrix:SMPTE170M, range:LIMITED}" 00:00:00.016 debug "Warning, FFmpegDemuxer failed to create a valid/supported audio decoder configuration from muxed stream, config:codec: aac, profile: unknown, bytes_per_channel: 0, channel_layout: STEREO, channels: 2, samples_per_second: 48000, sample_format: Unknown sample format, bytes_per_frame: 0, seek_preroll: 0us, codec_delay: 0, has extra data: true, encryption scheme: Unencrypted, discard decoder delay: true" 00:00:00.016 info "FFmpegDemuxer: skipping invalid or unsupported audio track" 00:00:00.016 kAudioTracks [] 00:00:00.016 kVideoTracks [{"alpha mode":"is_opaque","codec":"h264","coded size":"720x404","color space":"{primaries:SMPTE170M, transfer:SMPTE170M, matrix:SMPTE170M, range:LIMITED}","encryption scheme":"Unencrypted","has extra data":true,"hdr metadata":"unset","natural size":"720x404","orientation":"0°","profile":"h264 main","visible rect":"0,0 720x404"}] 00:00:00.016 kMaxDuration 4.694 00:00:00.016 kStartTime 0 00:00:00.016 kBitrate 424395 00:00:00.016 pipeline_state "kSuspended" 00:00:00.017 event "kSuspended" 00:00:00.017 pipeline_buffering_state {"for_suspended_start":true,"state":"BUFFERING_HAVE_ENOUGH"} 00:00:00.026 pipeline_state "kResuming" 00:00:00.026 info "Failed to initialize DecryptingVideoDecoder" 00:00:00.026 info "Failed to initialize MojoVideoDecoder" 00:00:00.026 info "Failed to initialize VpxVideoDecoder" 00:00:00.026 info "Failed to initialize Dav1dVideoDecoder" 00:00:00.026 info "Failed to initialize FFmpegVideoDecoder" 00:00:00.026 kIsVideoDecryptingDemuxerStream false 00:00:00.026 kVideoDecoderName "VivVideoDecoder" 00:00:00.026 kIsPlatformVideoDecoder false 00:00:00.026 info "Selected VivVideoDecoder for video decoding, config: codec: h264, profile: h264 main, level: not available, alpha_mode: is_opaque, coded size: [720,404], visible rect: [0,0,720,404], natural size: [720,404], has extra data: true, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:SMPTE170M, transfer:SMPTE170M, matrix:SMPTE170M, range:LIMITED}" 00:00:00.026 pipeline_state "kPlaying" 00:00:00.029 error "UNREADABLE_INPUT, SFT_INVALID_STREAM" 00:00:00.029 warning "video fallback to new decoder after initial decode error." 00:00:00.029 error "video decoder reinitialization failed" 00:00:00.029 pipeline_error "PIPELINE_ERROR_DECODE" 00:00:00.029 pipeline_state "kStopping" 00:00:00.029 pipeline_state "kStopped" 00:00:00.456 info "Effective playback rate changed from 0 to 1" 00:00:00.456 event "kPlay" 00:00:00.016 duration 4.694
For what I can see, the important part seems to be
"UNREADABLE_INPUT, SFT_INVALID_STREAM"
, but I can't deduce what's going wrong there. I played around a bit with the flagsenable-gpu-rasterization
,enable-zero-copy
,enable-gpu-rasterization
andignore-gpu-blocklist
, but changing their values doesn't make any difference.Video playback works fine in Firefox and Safari. I'm on macOS 11.1 x86_64. Is there something I overlooked?
-
What site are you trying on and is this one of the new M1 Macs, and are you trying the stable version of Vivaldi or one of the snapshots?
-
I am on Vivaldi 3.5.2115.87 (Stable channel) (x86_64). This is not an M1 Mac. And as I said, I'm testing on the Vivaldi HTML5 testing site linked above, but also tried directly loading an mp4 file from my local file system, which doesn't work either.
-
@Gwen-Dragon Done. Hoping for this to get fixed since I do like this browser overall :).
-
@flyx The test video in the Vivaldi help site played fine for me (macOS 11.1 (11.2 is out in the next few weeks) Vivaldi 3.5.2115.87 (Stable channel)
Do you have any extensions? Try downloading downloading the stable version again and installing it over the current stable (have to have Vivaldi closed for this). Looks like it is having trouble loading the video decoder.
Here is what I see after playing the video one time:
00:00:00.000 origin_url "https://help.vivaldi.com/" 00:00:00.000 kFrameUrl "https://help.vivaldi.com/desktop/media/html5-proprietary-media-on-linux/" 00:00:00.000 kFrameTitle "HTML5 Proprietary Media | Linux | Vivaldi Browser Help" 00:00:00.000 url "https://help.vivaldi.com/wp-content/uploads/2017/12/vivaldi_success.mp4?_=1" 00:00:00.000 kTextTracks [] 00:00:00.009 kTotalBytes 249014 00:00:00.009 kIsStreaming false 00:00:00.009 kIsSingleOrigin true 00:00:00.009 kIsRangeHeaderSupported true 00:00:00.073 pipeline_state "kStarting" 00:00:00.073 info " PROPMEDIA(RENDERER) : Initialize IPCDemuxer" 00:00:00.073 pipeline_state "kSuspended" 00:00:00.074 event "kSuspended" 00:00:00.074 pipeline_buffering_state {"for_suspended_start":true,"state":"BUFFERING_HAVE_ENOUGH"} 00:00:00.073 duration 4.694 00:00:05.107 pipeline_state "kResuming" 00:00:05.148 kIsAudioDecryptingDemuxerStream false 00:00:05.148 kAudioDecoderName "PassThroughAudioDecoder" 00:00:05.148 kIsPlatformAudioDecoder false 00:00:05.148 info "Selected PassThroughAudioDecoder for audio decoding, config: codec: pcm, profile: unknown, bytes_per_channel: 4, channel_layout: STEREO, channels: 2, samples_per_second: 48000, sample_format: Float 32-bit, bytes_per_frame: 8, seek_preroll: 0us, codec_delay: 0, has extra data: false, encryption scheme: Unencrypted, discard decoder delay: true" 00:00:05.149 kIsVideoDecryptingDemuxerStream false 00:00:05.149 kVideoDecoderName "PassThroughVideoDecoder" 00:00:05.149 kIsPlatformVideoDecoder false 00:00:05.149 info "Selected PassThroughVideoDecoder for video decoding, config: codec: h264, profile: h264 main, level: not available, alpha_mode: is_opaque, coded size: [720,404], visible rect: [0,0,720,404], natural size: [720,404], has extra data: true, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:DERIVED}" 00:00:05.149 pipeline_state "kPlaying" 00:00:05.156 audio_buffering_state {"state":"BUFFERING_HAVE_ENOUGH"} 00:00:05.157 dimensions "720x404" 00:00:05.157 kResolution "720x404" 00:00:05.176 video_buffering_state {"state":"BUFFERING_HAVE_ENOUGH"} 00:00:05.176 pipeline_buffering_state {"for_suspended_start":false,"state":"BUFFERING_HAVE_ENOUGH"} 00:00:06.738 info "Effective playback rate changed from 0 to 1" 00:00:06.738 event "kPlay" 00:00:11.452 event "kEnded" 00:00:11.453 event "kPause" 00:00:11.455 seek_target 0 00:00:11.456 pipeline_state "kSeeking" 00:00:11.456 audio_buffering_state {"state":"BUFFERING_HAVE_NOTHING"} 00:00:11.456 video_buffering_state {"state":"BUFFERING_HAVE_NOTHING"} 00:00:11.481 pipeline_state "kPlaying" 00:00:11.488 audio_buffering_state {"state":"BUFFERING_HAVE_ENOUGH"} 00:00:11.496 video_buffering_state {"state":"BUFFERING_HAVE_ENOUGH"} 00:00:11.496 pipeline_buffering_state {"for_suspended_start":false,"state":"BUFFERING_HAVE_ENOUGH"} 00:00:22.031 info "Selected video track: []" 00:00:22.032 video_buffering_state {"state":"BUFFERING_HAVE_NOTHING"}
-
@Chas4 I did disable all extensions for testing and re-installed Vivaldi.
Interesting that your log shows a
PassThroughVideoDecoder
which is not even mentioned in mine.I noticed that in
vivaldi://gpu
under Problems Detected, there is the following line:Protected video decoding with swap chain is for certain Intel and AMD GPUs on Windows: 1093625
Disabled Features: protected_video_decodeThis seems strange as it mentions Windows, not sure what to make of it. Chrome gives the same output at
chrome://gpu
but does play the video. So I did check Chrome's output when playing the video, and got00:00:00.660 info "Failed to initialize DecryptingVideoDecoder" 00:00:00.660 info "Failed to initialize MojoVideoDecoder" 00:00:00.660 info "Failed to initialize VpxVideoDecoder" 00:00:00.660 info "Failed to initialize Dav1dVideoDecoder" 00:00:00.660 kIsVideoDecryptingDemuxerStream false 00:00:00.660 kVideoDecoderName "FFmpegVideoDecoder" 00:00:00.660 kIsPlatformVideoDecoder false 00:00:00.660 info "Selected FFmpegVideoDecoder for video decoding, config: codec: h264, profile: h264 main, level: not available, alpha_mode: is_opaque, coded size: [720,404], visible rect: [0,0,720,404], natural size: [720,404], has extra data: true, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT470BG, transfer:BT709, matrix:SMPTE170M, range:LIMITED}"
So interestingly, Chrome is unable to do hardware-accelerated decoding too and uses ffmpeg. I tried to figure out what Firefox does as well, but didn't find a way to do it. Neither for Safari.
-
@flyx What model Mac are you using?
-
@Chas4 You brought me on the right track. After seeing that Chrome doesn't use hw acceleration, I did some digging and found out that the problem is my iGPU which was disabled in UEFI (yeah this is a hackintosh) because apparently macOS promotes the iGPU for hw acceleration even in the presence of a dGPU.
I apologize for bringing this issue here when the error cause is obviously out of scope. I am unsure whether the error can occur in more valid environments and thus whether getting on par with Chrome's handling of the situation could be desirable.
-
Ppafflick moved this topic from Vivaldi for macOS on