yuv2mp4
>您使用什么类型的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
修改分辨率:
%20with%20ffmpeg/input.jpg)
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:
%20with%20ffmpeg/output_320x240.png)
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的更多相关文章
随机推荐
- ES6常用语法(上)
ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应 ...
- Bytom Kit开发辅助工具介绍
Bytom Kit是一款为了帮助开发者更简单地理解Bytom的开发辅助工具,集合了校验.标注.解码.测试水龙头等功能. 该工具用python语言封装了一套比原的API和7个工具方法,如果有开发需求可以 ...
- Linux环境——MySQL安装及配置(8.0版本)
虚拟机环境是Linux Red Hat Enterprlse Linux (64位),本次安装的是Mysql 8.0版本. 由于有经验了,所以又弄了台虚拟机练手,承接上一篇博客(https://ww ...
- mongoose一看就会的基本操作
Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具 那么要使用它,首先你得装上node.js和mongodb,关于mongodb的安装和操作介绍可以参考:http: ...
- gcc 无法编译c17程序解决办法
1.保证将gcc程序升级到7.1以上. 2.如果用命令行手工编译,就多加个参数-std=c++17,例如命令应该是: "g++" -std=c++17 "text.cp ...
- python pyqt绘制直方图
# -*- coding: utf-8 -*- """ In this example we draw two different kinds of histogram. ...
- 20175317 MyCP(课下作业,必做)
一.题目要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内 ...
- 2 - Binary Search & LogN Algorithm
254. Drop Eggs https://www.lintcode.com/problem/drop-eggs/description?_from=ladder&&fromId=1 ...
- reactiveCocoa使用注意点
@RACSubject信号 注意点:1如果一个页面需要多次发送这个消息,那么似乎会暴露一个bug,信号不会被销毁,等到发送第二个信号 时,第一个信号仍然会被发送,导致错误,比如一个tableView的 ...
- 《R语言入门与实践》第七章:程序
前言 这一章讲了程序设计的相关知识,经过了: 算法分析 编码 得到最后的程序. if 语句 格式:if (this) {that} else if { another} else { another ...