• ffmpeg编码YUV420视频序列



    依旧是这里的测试序列 http://www.cnblogs.com/zzugyl/p/3678865.html
    测试了JM和libx264的编解码质量
    后来用ffmpeg转码 发现忘记了命令行转码的命令
    网上搜来的很多都是复制粘贴 完全不考虑真实性 让我测试半天

    我想把YUV测试序列 720p50_parkrun_ter.yuv 720p50_shields_ter.yuv编码成h264文件。
    这里使用的ffmpeg是zeranoe编译的 http://ffmpeg.zeranoe.com/builds/
    ffmpeg version N-62509-g97751e1 Copyright (c) 2000-2014 the FFmpeg developers
      built on Apr 17 2014 22:01:31 with gcc 4.8.2 (GCC)

    第一次使用命令:

    ffmpeg -i 720p50_parkrun_ter.yuv 720p50_parkrun_ter.h264

    提示错误:
    [rawvideo @ 003a7b40] Could not find codec parameters for stream 0 (Video: rawvideo (I420 / 0x30323449), yuv420p, -4 kb/s):
    unspecified size
    Consider increasing the value for the 'analyzeduration' and 'probesize' options
    720p50_parkrun_ter.yuv: could not find codec parameters

    第二次使用命令:

    ffmpeg -pix_fmt yuv420p -i 720p50_parkrun_ter.yuv 720p50_parkrun_ter.h264

    依然是同样的错误提示

    第三次使用命令:

    ffmpeg -pix_fmt yuv420p -i 720p50_parkrun_ter.yuv -vcodec libx264 -r 50 -s 1280x720 720p50_parkrun_ter.h264

    依然是同样的错误提示

    我很纳闷了,该传的参数,我都传进去了。还需要什么呢?
    最后经过qq群好友的提示,修正参数第四次尝试。

    第四次使用命令:

    ffmpeg -s 1280x720 -pix_fmt yuv420p -f rawvideo -i 720p50_parkrun_ter.yuv -vcodec libx264 -r 50 720p50_parkrun_ter.h264

    这次顺利进行了。
    其实ffmpeg会根据后缀自行判断编解码方式。
    进而可以简化为:

    ffmpeg -s 1280x720 -i 720p50_parkrun_ter.yuv -r 50 720p50_parkrun_ter.h264

    而且编码出来的文件 连MD5都一样。算法可真严谨。

  • 相关阅读:
    SpringMVC,3种不同的URL路由配置方法(这根本不是一个小问题)
    PHP在Windows下安装配置第一步
    跟我一起学extjs5(18--模块的新增、改动、删除操作)
    html image -- data:image/png;base64
    oc66--代理模式应用2
    oc65--协议应用1,接口.做数据类型限定
    oc64--协议2@protocol
    oc63--协议@protocol1
    oc62--block1
    oc61--block
  • 原文地址:https://www.cnblogs.com/zzugyl/p/3709514.html
Copyright © 2020-2023  润新知