【问题标题】:How to change mp4 aspect ratio to 16:9 using ffmpeg?如何使用 ffmpeg 将 mp4 纵横比更改为 16:9?
【发布时间】:2016-08-26 06:13:33
【问题描述】:

我有一个 mp4 视频,我使用 ffmpeg 复制了 4 分钟。上传到 YouTube 后,我注意到上传的视频在视频的两侧(右侧和左侧)都有黑条!在寻找去除这些黑条的方法后,我发现我需要使用 yt:stretch=16:9!但是,使用 yt:stretch=16.9 标签不会去除 iPhone 和三星智能电视 YouTube 应用上的黑条!

专家能否帮助我使用 ffmpeg(不损失视频质量)将原始 mp4 视频的宽高比更改为 16:9 以重新上传到 YouTube?提前谢谢?

我得到了两种类型的来源,其中包含以下信息:

1)Resolution:720x576 ,Frame rate:25 . Codec:H264 - MPEG-4 AVC(part 10)(avc1),
2)Resolution:848x480 , Frame rate:24.804393,Codec:H264 - MPEG-4 AVC(part 10)(avc1)

用于修剪原始视频的ffmpeg代码:

   ffmpeg -i orginalVideo.mp4 -ss 00:25:55 -t 00:04:02 -acodec copy -vcodec copy videoForYoutube.mp4

【问题讨论】:

  • 如果您的视频内容不是 16:9,则更改纵横比会使其失真。目前的分辨率是多少?
  • 感谢回复我得到了两种类型的来源,信息如下:1)分辨率:720x576,帧率:25。 Codec:H264 - MPEG-4 AVC(part 10)(avc1), 2)Resolution:848x480 , Frame rate:24.804393,Codec:H264 - MPEG-4 AVC(part 10)(avc1) 使用 youtube 标签拉伸已经上传视频在 firefox pc 上的 youtube 播放器上并没有使视频失真太多。

标签: youtube ffmpeg aspect-ratio


【解决方案1】:

假设视频在拉伸后看起来可以接受,您可以使用以下命令:

ffmpeg -ss 25:55 -t 4:02 -i input.mp4 -vf scale=ih*16/9:ih,scale=iw:-2,setsar=1 -crf 20 -c:a copy YT.mp4

【讨论】:

  • 我在 ffmpeg 窗口上收到这些错误:[libx264 @ 04e67020] 宽度不能被 2 整除 (853x480) 为输出流 #0:0 打开编码器时出错 - 可能是不正确的参数,例如 bit_rate、rate、宽度或高度如何修复它们?
  • 'ffmpeg -i input.mp4 -vf scale=854x480,setdar=16/9 output.mp4' 为我工作,没有任何错误。确保您使用的尺寸可以被比例整除。例如 16:9。 “854x480”与“853x480”
【解决方案2】:

这个命令也很有用

ffmpeg -i input.mp4 -crf=20 -vf 'split[original][copy];[copy]scale=ih*16/9:-1,crop=h=iw*9/16,gblur=sigma=80,eq=saturation=0.9[background];[background][original]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2' output.mp4

此命令与 Gyan 命令不同,它会在不拉伸视频的情况下扩大视频的大小,转换需要更多时间,但 Gyan 命令更快。

source


已在linux 上使用ffmpeg version 3.4.8-0ubuntu0.2 进行了测试

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-30
    • 1970-01-01
    • 2019-03-19
    • 1970-01-01
    • 1970-01-01
    • 2020-01-03
    • 2016-07-29
    • 2014-07-28
    相关资源
    最近更新 更多