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都一样。算法可真严谨。

  • 相关阅读:
    前端框架-Bootstrap【搭建后台管理系统】
    前端-jQuery
    前端-js基础语法-DOM
    前端-js基础语法
    前端-html标签
    python学习并发编程
    python学习网络编程
    python爬虫学习:第一爬_快眼看书排行榜
    python总结:模块汇总
    python学习_解释器接口模块:sys
  • 原文地址:https://www.cnblogs.com/zzugyl/p/3709514.html
Copyright © 2011-2022 走看看