AVCHD MTS h264 1080p 文件在 Linux 中播放时出现断断续续的情况

AVCHD MTS h264 1080p 文件在 Linux 中播放时出现断断续续的情况

当我尝试从相机播放视频文件时:

    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。

相关内容