我怎样才能停止视频文件以避免在观看时出现卡顿?

我怎样才能停止视频文件以避免在观看时出现卡顿?

我发现,当我使用硬盘上的 VLC 2.0.6 (Twoflower) 观看一些视频文件时,它们会断断续续地播放(时断时续,导致视频和音频出现失真和丢失)。当我将播放速率提高到 1.0 倍以上时,这种情况尤其明显。

这些视频文件很小(大约 300-700MB+),我的电脑也不是那么旧(大约 6 个月)。这是一台戴尔 Inspiron N411Z 电脑,配备英特尔酷睿 i5-2450M 2.5GHz、6.00GB RAM、64 位 Windows 7 Home Premium SP1 操作系统,评分为 4.8(这是图形性能)。硬盘是 500GB SATA 硬盘,缓存为 8MB,传输速度为 3GB,转速为 5400RPM(完整规格可在此处找到)。

ffmpeg 报告的其中一个视频的编解码器:

Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 608x336 [SAR 1:1 DAR 38:21], 23.98 tbr, 23.98 tbn, 23.98 tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 32 kb/s

这很烦人,我不认为这应该发生。我确实看到了这个问题,但我认为这不太一样,因为那个问题只涉及视频而不涉及音频。

有多少人遇到过这种情况?您的解决办法是什么?

答案1

这个问题似乎是磁盘访问问题。通过将电影放入缓存中,这个问题就消失了。问题是如何首先将其放入操作系统的磁盘缓存中。我写了这个简单的批处理脚本:

c:\cygwin\bin\cp.exe "%~1" /dev/null

这当然需要赛格威已加载到系统中。MinGW 无法工作,因为它导致了以下错误:

/usr/bin/cp: cannot create regular file `/dev/null': Invalid request code

似乎cp没有正确实现明网。我确实尝试过这个:

copy /b %1 nul

但不知为何,它似乎没有起作用作为很好(尽管这样做比根本不做要好)。

执行

我将脚本命名为cacheFile.bat并将脚本放入文件夹中(例如%用户配置文件%\bin,这是我创建的),然后在文件夹.lnk中为该文件创建一个SendTo,并将其命名为cache fileSendTo(为了轻松进入文件shell:SendTo夹,请在开始->运行提示或探索者地址栏)。通过将文件Run的属性设置.lnkMinimized,窗口将不会显示,除非在任务栏中。这可以通过右键单击文件.lnk,选择Properties并在Shortcut选项卡中设置Run为 来完成Minimized

现在我可以右键单击一部电影并将其放入缓存中。

上下文菜单

当然可以修改批处理文件以将其缓存,然后在执行此操作后立即运行 VLC,但这样我就不必等待文件完全复制后再开始观看视频,或者在观看视频时,我可以根据需要再次缓存它。

相关内容