zoukankan      html  css  js  c++  java
  • 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都一样。算法可真严谨。

  • 相关阅读:
    特效导航栏
    json基础用法
    CSS盒模型以及如何解决边距重叠问题
    JS设置和获取盒模型的宽和高
    太极图
    JS旋转和css旋转
    正则表达式三-元字符
    正则表达式语法二-量词
    逻辑运算符
    字符串和正则的相关方法
  • 原文地址:https://www.cnblogs.com/zzugyl/p/3709514.html
Copyright © 2011-2022 走看看