![Ubuntu 15.10 上的视频播放非常不稳定](https://linux22.com/image/1133267/Ubuntu%2015.10%20%E4%B8%8A%E7%9A%84%E8%A7%86%E9%A2%91%E6%92%AD%E6%94%BE%E9%9D%9E%E5%B8%B8%E4%B8%8D%E7%A8%B3%E5%AE%9A.png)
从 VLC 和 SMPlayer 到 Chrome,我每天都会遇到视频播放问题,甚至每小时都会遇到一次。首先,请看一下这个在 Chrome 中以全屏模式播放的 YouTube 视频,当我退出全屏模式时,一切都冻结了:
下面是另一个视频,显示当我移动 SMPlayer 的窗口时,视频区域稍微滞后了一点:
我的系统规格是:
- 处理器:酷睿 i7 6700
- 显卡:集成显卡
- Ubuntu 15.10
我也安装了适用于 Linux 的英特尔® 显卡。
有什么方法可以解决这些问题吗?
编辑:当我在详细模式下运行 VLC 时,我在日志输出中收到以下消息:
VLC_VERBOSE=1 vlc
VLC media player 2.2.1 Terry Pratchett (Weatherwax) (revision 2.2.1-0-ga425c42)
[0000000001103148] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[00007fe7c0c01928] mp4 demux warning: STTS table of 1 entries
[00007fe7c0c01928] mp4 demux warning: STTS table of 1 entries
[00007fe7c2801178] faad decoder warning: decoded zero sample
Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory
[00000000011fe018] pulse audio output warning: starting late (-55388 us)
[00000000011fe018] core audio output warning: playback too early (-72418): down-sampling
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 168 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 160 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 152 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 144 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 136 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 192 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 184 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 176 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 168 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 160 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 152 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 144 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 136 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 192 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 184 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 176 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 168 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 160 ms)
[00007fe7b8252038] core video output warning: picture is too late to be displayed (missing 152 ms)
编辑 2:我安装libvdpau_va_gl
并删除~/.config/vlc
以重置 VLC 的配置,现在我在日志输出中收到这些错误:
$ VLC_VERBOSE=1 vlc
VLC media player 2.2.1 Terry Pratchett (Weatherwax) (revision 2.2.1-0-ga425c42)
[000000000231b148] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[00007f06ecc018d8] mp4 demux warning: STTS table of 1 entries
[00007f06ecc018d8] mp4 demux warning: STTS table of 1 entries
[00007f06ee8012e8] faad decoder warning: decoded zero sample
libva info: VA-API version 0.38.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_38
libva info: va_openDriver() returns 0
[00007f06ee812258] avcodec decoder: Using OpenGL/VAAPI/libswscale backend for VDPAU for hardware decoding.
[h264 @ 0x7f06ee820640] hardware accelerator failed to decode picture
[h264 @ 0x7f06ee8acb80] hardware accelerator failed to decode picture
[0000000002415f68] pulse audio output warning: starting late (-55609 us)
[0000000002415f68] core audio output warning: playback too early (-71985): down-sampling
[h264 @ 0x7f06ee8f4460] hardware accelerator failed to decode picture
[h264 @ 0x7f06ee93bd60] hardware accelerator failed to decode picture
[00007f06bc001268] vdpau_display vout display error: video mixer surface width capabilities query failure: VDP_STATUS_NO_IMPLEMENTATION
[VS] error (vdpVideoSurfaceGetBitsYCbCr): not implemented conversion VA FOURCC -> VDP_YCBCR_FORMAT_YV12
[00007f06bc5ff738] vdpau_chroma filter error: video surface export failure: VDP_STATUS_INVALID_Y_CB_CR_FORMAT
[00007f06e0251e78] core video output warning: picture is too late to be displayed (missing 168 ms)
[h264 @ 0x7f06ee820640] hardware accelerator failed to decode picture
[00007f06e0251e78] core video output warning: picture is too late to be displayed (missing 160 ms)
[h264 @ 0x7f06ee8acb80] hardware accelerator failed to decode picture
[00007f06e0251e78] core video output warning: picture is too late to be displayed (missing 152 ms)
[h264 @ 0x7f06ee8f4460] hardware accelerator failed to decode picture
[00007f06e0251e78] core video output warning: picture is too late to be displayed (missing 144 ms)
[h264 @ 0x7f06ee93bd60] hardware accelerator failed to decode picture
[h264 @ 0x7f06ee820640] hardware accelerator failed to decode picture
[h264 @ 0x7f06ee8acb80] hardware accelerator failed to decode picture
[h264 @ 0x7f06ee8f4460] hardware accelerator failed to decode picture
[h264 @ 0x7f06ee93bd60] hardware accelerator failed to decode picture
[h264 @ 0x7f06ee820640] hardware accelerator failed to decode picture
[h264 @ 0x7f06ee8acb80] hardware accelerator failed to decode picture
[h264 @ 0x7f06ee8f4460] hardware accelerator failed to decode picture
[00007f06ee812258] avcodec decoder warning: More than 4 late frames, dropping frame
取消选中硬件加速后,我在输出中得到类似的日志:
$ VLC_VERBOSE=1 vlc
VLC media player 2.2.1 Terry Pratchett (Weatherwax) (revision 2.2.1-0-ga425c42)
[0000000000868148] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
QObject::~QObject: Timers cannot be stopped from another thread
behrangsa@Tesla:~$ VLC_VERBOSE=1 vlc
VLC media player 2.2.1 Terry Pratchett (Weatherwax) (revision 2.2.1-0-ga425c42)
[0000000000a6d148] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[00007fb3ccc01938] mp4 demux warning: STTS table of 1 entries
[00007fb3ccc01938] mp4 demux warning: STTS table of 1 entries
[00007fb3ce01d558] faad decoder warning: decoded zero sample
libva info: VA-API version 0.38.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_38
libva info: va_openDriver() returns 0
[00007fb3ce02e688] avcodec decoder: Using OpenGL/VAAPI/libswscale backend for VDPAU for hardware decoding.
[h264 @ 0x7fb3ce03ca60] hardware accelerator failed to decode picture
[h264 @ 0x7fb3ce0c8fa0] hardware accelerator failed to decode picture
[0000000000b67f68] pulse audio output warning: starting late (-55924 us)
[0000000000b67f68] core audio output warning: playback too early (-71494): down-sampling
[h264 @ 0x7fb3ce110880] hardware accelerator failed to decode picture
[h264 @ 0x7fb3ce158180] hardware accelerator failed to decode picture
[00007fb3b4001268] vdpau_display vout display error: video mixer surface width capabilities query failure: VDP_STATUS_NO_IMPLEMENTATION
[VS] error (vdpVideoSurfaceGetBitsYCbCr): not implemented conversion VA FOURCC -> VDP_YCBCR_FORMAT_YV12
[00007fb3b4621478] vdpau_chroma filter error: video surface export failure: VDP_STATUS_INVALID_Y_CB_CR_FORMAT
[00007fb3c42417f8] core video output warning: picture is too late to be displayed (missing 168 ms)
[h264 @ 0x7fb3ce03ca60] hardware accelerator failed to decode picture
[00007fb3c42417f8] core video output warning: picture is too late to be displayed (missing 160 ms)
[h264 @ 0x7fb3ce0c8fa0] hardware accelerator failed to decode picture
[00007fb3c42417f8] core video output warning: picture is too late to be displayed (missing 152 ms)
[h264 @ 0x7fb3ce110880] hardware accelerator failed to decode picture
[00007fb3c42417f8] core video output warning: picture is too late to be displayed (missing 144 ms)
[h264 @ 0x7fb3ce158180] hardware accelerator failed to decode picture
[h264 @ 0x7fb3ce03ca60] hardware accelerator failed to decode picture
[h264 @ 0x7fb3ce0c8fa0] hardware accelerator failed to decode picture
[h264 @ 0x7fb3ce110880] hardware accelerator failed to decode picture
[h264 @ 0x7fb3ce158180] hardware accelerator failed to decode picture
[h264 @ 0x7fb3ce03ca60] hardware accelerator failed to decode picture
[h264 @ 0x7fb3ce0c8fa0] hardware accelerator failed to decode picture
[h264 @ 0x7fb3ce110880] hardware accelerator failed to decode picture
[00007fb3ce02e688] avcodec decoder warning: More than 4 late frames, dropping frame
[h264 @ 0x7fb3ce158180] hardware accelerator failed to decode picture
[00007fb3ce02e688] avcodec decoder warning: More than 4 late frames, dropping frame
[h264 @ 0x7fb3ce03ca60] hardware accelerator failed to decode picture
[00007fb3ce02e688] avcodec decoder warning: More than 4 late frames, dropping frame
[h264 @ 0x7fb3ce0c8fa0] hardware accelerator failed to decode picture
[00007fb3ce02e688] avcodec decoder warning: More than 4 late frames, dropping frame
[h264 @ 0x7fb3ce110880] hardware accelerator failed to decode picture
[00007fb3ce02e688] avcodec decoder warning: More than 4 late frames, dropping frame
[h264 @ 0x7fb3ce158180] hardware accelerator failed to decode picture
[00007fb3ce02e688] avcodec decoder warning: More than 4 late frames, dropping frame
[h264 @ 0x7fb3ce03ca60] hardware accelerator failed to decode picture
[00007fb3ce02e688] avcodec decoder warning: More than 4 late frames, dropping frame
[h264 @ 0x7fb3ce0c8fa0] hardware accelerator failed to decode picture
[00007fb3ce02e688] avcodec decoder error: more than 5 seconds of late video -> dropping frame (computer too slow ?)
[00007fb3ce02e688] avcodec decoder error: more than 5 seconds of late video -> dropping frame (computer too slow ?)
编辑3:
运行ffmpeg -i
视频会产生以下输出:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Day 2-2016-01-27 20.31 Core Spring Training.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
creation_time : 2016-01-27 17:44:23
Duration: 02:08:51.78, start: 0.000000, bitrate: 206 kb/s
Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 16000 Hz, mono, fltp, 64 kb/s (default)
Metadata:
handler_name : AAC stream handler
Stream #0:1(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 141 kb/s, 5 fps, 5 tbr, 90k tbn, 180k tbc (default)
Metadata:
handler_name : Citrix h264 stream handler
encoder : AVC Coding
答案1
在 SMPlayer 中:选项->首选项->视频选择除 xv 之外的输出驱动程序。例如:gl。然后尝试再次播放您的视频。希望对您有所帮助)
在 VLC 中:工具->首选项->视频取消选中加速视频输出(覆盖)