当我尝试从相机播放视频文件时:
Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 50.00 (50/1)
Input #0, mpegts, from '00027.MTS':
Duration: 00:00:38.88, start: 2.884289, bitrate: 16945 kb/s
Program 1
Stream #0.0[0x1011]: Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
… 在我的 Linux 电脑 (Ubuntu 12.04) 上,播放不流畅。完全无法使用……我尝试过:
- 图腾
- 甚高频液晶
- 播放器
结果总是同样的问题。
我把同样的视频文件发给了一个使用 ubuntu 10.04 的朋友测试,他也遇到了同样的问题。他使用 Windows 7,并确认在 Windows 上视频运行良好。
我有一台 Intel® Core™2 CPU 6300 @ 1.86GHz × 2 和 GF 9600 GT,NVIDIA 驱动程序已关闭。这不是由 HDD 问题导致的大型文件播放缓慢的问题。我有一个 SSD 驱动器!
我花了几天几夜的时间,尝试了数百个 ffmpeg、handbrake、mencoder 命令……其中任何一个命令都无法让我创建具有足够质量的文件。
我从 YouTube 下载了几部 1080p 的电影,播放效果很好,没有任何大像素和断断续续的画面。
我希望获得尽可能高的质量,我会将以下文件放到蓝光光盘上,这样我就不需要压缩它们来获得较小的尺寸。我只想在我的 Linux 机器上流畅播放。
在 Windows 上,相同的文件运行良好。
答案1
我建议尝试一下 smplayer,尽管它是 mplayer 的 GUI,但您无论如何都可以从命令行运行它,它可以更轻松地调整设置等。
安装它并单击选项 --> 首选项在常规下查看右侧,单击视频选项卡虽然不是专家尝试将输出驱动程序更改为“vdpau”但我相信至少这对基于 NVidia 的卡会带来良好的效果。
我在 12.04 上运行 Radeon vdpau,对我来说可以工作,但默认的 xv、gl、gl(快速)、gl(快速 - ATI 卡)似乎也可以工作。
主要是 MTS、M2TS AVCHD 视频给我带来了麻烦,但有了上面的视频,一切似乎都还好……尽管仍在努力争取显示剩余时间,因此有机会“跳过”前进等,如果你知道答案,请告诉我 :)
祝你好运。
拉紧
答案2
问题
我意识到我可能迟到了,但看看你的输出:
1920x1080 [PAR 1:1 DAR 16:9], 50 fps, 50 tbr,
您可以看到您的视频为 50 FPS。这意味着解码所需的处理能力大约是您尝试过的(可能)25 FPS 的 YouTube 电影的两倍。
解决方案
您可以将视频转码为较低的帧速率以使其可播放,类似这样的操作应该可以工作:
ffmpeg -i myfile.mp4 -c:a copy -c:v libx264 -r 25 -preset fast -tune film \
-profile high10 output.mp4
或者你可以购买支持 H264 硬件解码的显卡,例如 Nvidia Geforce 8 系列或更高版本,并使用支持维吉尼亚州民主党并使用使用它的视频播放器,例如最新版本的 mplayer。