【问题标题】:Convert a ffmpeg video to an appropriate dimension将 ffmpeg 视频转换为适当的尺寸
【发布时间】:2015-03-06 19:42:53
【问题描述】:

我正在用ffmpeg写一个视频转换脚本,已经完成了。理想情况下,我的视频转换脚本应该将视频输出为多种格式(如 YouTube):

  • 140p:256 x 144
  • 240p:426 x 240
  • 360p: 640  x 360
  • 480p : 854  x 480
  • 720p:1280 x 720
  • 1080p:1920x 1080

我面临的问题是,如果用户上传 480p (854 x 480) 或接近 480p (854 x 480) 的视频,脚本将转换为所有格式(1080p 和 720p),这似乎是浪费在这种情况下,带宽和磁盘空间。

问题并不像看起来那么简单。如果用户上传 500 x 300 的视频,我不希望它转换为 240p,则必须进行一些估算。

谁能帮助我或对此类问题有一些经验?

【问题讨论】:

    标签: video ffmpeg


    【解决方案1】:

    听起来你想先用“mplayer -identify”之类的东西来测量视频的大小,然后只转换为比源大小小 5% 的标准大小加上下一个更大的标准大小.

    好的,详细一点

    mplayer -quiet  -identify -vo null -ao null -endpos 0.1 The\ Cat\ Came\ Back.mpg 2>/dev/null  | grep ID_VIDEO
    

    ID_VIDEO_ID=0
    ID_VIDEO_FORMAT=0x10000001
    ID_VIDEO_BITRATE=1150000
    ID_VIDEO_WIDTH=352
    ID_VIDEO_HEIGHT=240
    ID_VIDEO_FPS=29.970
    ID_VIDEO_ASPECT=0.0000
    ID_VIDEO_CODEC=ffmpeg1
    ID_VIDEO_ASPECT=1.3394
    

    假设你将高度乘以宽度并减少 5%

    352*240*0.95 = 80256
    

    然后按顺序浏览您的标准尺寸列表,如果该列表小于标准尺寸的 W*H,则对其进行编码。如果它更大,那么您仍然对其进行编码,但一旦完成,您将不再编码。

    请注意,如果您愿意,您可以查看“ID_VIDEO_ASPECT”并根据该值选择不同的“标准尺寸”。

    【讨论】:

      猜你喜欢
      • 2018-11-12
      • 1970-01-01
      • 2020-08-04
      • 2015-07-12
      • 2017-04-20
      • 2017-02-26
      • 1970-01-01
      • 2020-10-08
      • 2020-08-25
      相关资源
      最近更新 更多