>您使用什么类型的YUV像素格式?最常见的格式是YUV4:2:0平面8位(YUV420p)。您可以键入ffmpeg -pix_fmts以获取所有可用格式的列表。
>什么是帧率?在我的例子中,我将使用-r 25 fps。
>你想使用什么编码器? libx264(H.264)编码器是一种伟大的无损压缩。
>你的相框是什么?在我的例子中,我将使用-s 1920×1080

然后我们得到这个命令来做你的压缩。

ffmpeg -f rawvideo -vcodec rawvideo -s 1920×1080 -r 25 -pix_fmt yuv420p -i inputfile.yuv -c:v libx264 -preset ultrafast -qp 0 output.mp4

在转化netflix_4k的视频时命令:ffmpeg -f rawvideo -vcodec rawvideo -s 704*576 -pix_fmt yuv420p -i /home/nkh/Temp/nkh/data_beihang/city_4cif.yuv -c:v libx264 -preset ultrafast -qp 0 /home/nkh/Temp2018/nkh/data_0/city_4cif.mp4

不行,故采用以下:

将 y4m 格式的图像序列转换为 4:2:0 的 YUV 图像序列:

ffmpeg -f yuv4mpegpipe -i test.y4m -pix_fmt yuv420p test.yuv

对所有其他参数的一点解释:

>使用-f rawvideo将输入格式设置为原始视频容器
>使用-vcodec rawvideo将输入文件设置为未压缩
>使用-i inputfile.yuv设置输入文件
>使用-c:v libx264,您设置编码器将视频编码为libx264。
> -preset ultrafast设置只是加速压缩,所以你的文件大小会比设置为veryslow更大。
>使用-qp 0可以设置最大质量。 0是最好的,51是我们的例子中最差的质量。
>然后output.mp4是你的新容器来存储你的数据。

在Adobe Premiere中完成后,您可以通过反转所有参数将其转换回YUV文件。 FFmpeg识别mp4容器中的内容,因此您不需要为输入提供参数。

ffmpeg -i input.mp4 -f rawvideo -vcodec rawvideo -pix_fmt yuv420p -s 1920×1080 -r 25 rawvideo.yuv

修改分辨率:

If you need to simply resize your video to a specific size (e.g 320x240), you can use the scale filter in its most basic form:

ffmpeg -i input.avi -vf scale=320:240 output.avi

Same works for images too:

ffmpeg -i input.jpg -vf scale=320:240 output_320x240.png

The resulting image will look like this:

As you can see, the aspect ratio is not the same as in the original image, so the image appears stretched. If we'd like to keep the aspect ratio, we need to specify only one component, either width or height, and set the other component to -1. For example, this command line:

ffmpeg -i input.jpg -vf scale=320:-1 output_320.png

will set the width of the output image to 320 pixels and will calculate the height of the output image according to the aspect ratio of the input image. The resulting image will have a dimension of 320x207 pixels.

7.YUV序列播放

ffplay -f rawvideo -video_size 1920x1080 input.yuv

yuv2mp4的更多相关文章

随机推荐

  1. Lesson 01-Linux安装及基础命令

    .Linux安装(略)2.基础命令 cd 切换目录 /home 切换到home目录 . 代表当前目录 .. 代表切换到当前目录的上级目录 ~ 代表切换到用户家目录 空 代表切换到用户家目录 - 代表切 ...

  2. JS(JavaScript)的进一步了解2(更新中···)

    js数据类型 基本数据类型:string   undefined   null  boolean  number 引用数据类型  Object  array  function 二者的区别 基本数据类 ...

  3. 洛谷 P5019 铺设道路

    题目描述 春春是一名道路工程师,负责铺设一条长度为 \(n\) 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 \(n\) 块首尾相连的区域,一开始,第 \(i\) 块区域下陷的深度 ...

  4. 工具类封装之--BaseController

    package cn.xxx.base; import cn.xxx.gecustomer.beans.GeCustomer; import cn.xxx.gecustomer.beans.GeCus ...

  5. java知识点集锦--基础知识部分

    1.面向对象特征:封装.继承.多态 封装:把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口来访问.面向对象的本质就是将现实世界描绘成一系列完全自治.封闭的对象.我们在类中编写的方法就是 ...

  6. H5外包团队 H5开发微信APP的优势有哪些

    H5外包团队 H5开发微信APP的优势有哪些

  7. java笔记 -- 数组

    概念: 数组是一种数据结构, 用来存储同一类型值的集合. 通过一个整型的下标可以访问数组中的每一个值. 声明: int[] a(推荐,将类型int[](整形数组)和变量名分开了) 或者int a[] ...

  8. Django 建立用户的视图(搜索 )

    在web应用上,有两个关于搜索获得巨大成功的故事:Google和Yahoo,通过搜索,他们建立了几十亿美元的业务.几乎每个网站都有很大的比例访问量来自这两个搜索引擎.甚至,一个网站是否成功取决于其站内 ...

  9. 初学spring笔记

    简单hello world 项目,了解IOC 反转控制

  10. dedecmsV5.7织梦后台更新文章,发布时间不自动更新

    问题:dedecmsV5.7后台修改文章的时候,会更新发布时间,需求是不自动更新时间,还是当时的发布时间 解决: 1.修改后台文件夹/templets/archives_edit.htm,articl ...