如何将y4m文件转换成yuv文件

分享一个下载HEVC test sequence 的网址https://media.xiph.org/video/derf/

但是下载下来的序列都是y4m后缀名的文件,想转到yuv文件。

第一步:装个mencoder.exe

下载地址:mencoder.exe_mencoder

第二转码

其他博客里分享的都是Linux 下的代码,比如

命令如下:

“mencoder .y4m -ovc raw -of rawvideo -vf format=i420 -o .yuv ”

所以在这写个在Windows下的命令行:

D:\Downloads\mencoder.exe -noodml “F:\akiyo_qcif.y4m” -ovc raw -of rawvideo -vf format=i420 -o “F:\akiyo_qcif.yuv”

图如下:

扫描二维码关注公众号,回复: 14237122 查看本文章

接下来讲讲mencoder:

mencoder 是一款命令行方式的视频处理软件,是Mplayer自带的编码工具,mencoder支持几乎所有的格式的视频转换,可以将任意格式转换到任意格式,转换功能可以说是相当强大。目前市面上流行的格式转换器,都是基于mencoder开发的GUI,比如暴风转码,格式工厂等。可以说转换器能办到的,mencoder都能办到,但mencoder能办到的,转换器就不一定能办到了。
很多初学者宁可去用转换器,也不用mencoder的很大原因是mencoder只支持在命令行,mencoder命令行下操作,令很多初学都无所适从,不知如何开始.这也是mencoder不能流行开来的原因.
视频格式转换工具

CSDN站内私信我(关注旁边,就是私信),领取最新最全C++音视频学习提升资料,内容包括(C/C++Linux 服务器开发,FFmpeg webRTC rtmp hls rtsp ffplay srs

 

基本用法:mencoder.exe -noodml “j:\工作区\01.wmv” -of avi -o “j:\工作区\b.avi” -ofps 20 -vf-add scale=224:176 -vf-add expand=224:176:-1:-1:1,rotate=2,flip -srate 44100 -ovc xvid -xvidencopts bitrate=350:max_bframes=0:quant_type=h263:me_quality=4 -oac lavc -lavcopts acodec=mp2:abitrate=96

举例:把一个 MPEG-2 文件压缩成一个 AVI 文件:以下命令中把一个 MPEG-2 文件(扩展名为 MPG )转换成一个 AVI 文件(Divx 视频编码,MP3 音频编码):
mencoder.exe input.mpg -oac mp3lame -lameopts aq=3:abr:br=128 -srate 44100 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1200 -ffourcc DX50 -vf scale=480:360,crop=640:478:0:0,harddup -ofps 30 -o output.avi

1、-oac mp3lame:(output audio codec)指定输出媒体文件的音频编码类型。此例中选择的是 mp3lame。其它可以选择的编码如下表所示:

2、-lameopts aq=3:abr:br=128:(lame options)指定 LAME 的编码设置。aq 为编码质量,它的值为 0~9,数字越小音频的数字失真就越小,编码的时间就越长;编码方式包括有 abr(按平均码率编码)、cbr(指固定码率编码)、vbr(按动态码率编码)三种;br=128 则指定编码码率为 128kbps。

3、-srate 44100:(sample rate)指定音频的采样频率。频率通常有 22050、32000、44100 等几种。

4、-ovc lavc:(output video codec)指定输出媒体文件的视频编码类型。此处选择的是 Libavcodec 的视频编码,其它可以选择的编码如下表所示:

5、-lavcopts vcodec=mpeg4:vbitrate=1200:(Libavcodec options)指定视频编码的设置。由于 Libavcodec 包含了多种视频编码,所以用 vcodec=mpeg4 来指定具体的使用 MPEG-4 编码,vbitrate 是设定视频编码的码率为 1200kbps。

6、-fourcc DX50:(four character code)指定视频数据流格式的四字符代码。通常视频播放软件通过查询 FourCC 代码并且寻找与 FourCC 代码相关联的视频解码器来播放特定的视频流。比如 DIV3 = DivX Low-Motion、DIV4 = DivX Fast-Motion、DIVX = DivX4、DX50 = Divx5 等等。

7、-vf scale=480:360,crop=640:478:0:0,harddup:(video filters)指定编码的视频滤镜设置。scale=480:360 用于指定输入媒体文件的画面大小,宽度为 480 像素,高度为 360 像素。crop=638:477:1:2 是剪栽选项,从原始画面的座标(1,2)为起点,截取 638×477 像素的图像。
  注意,命令里的 scale 参数放在 crop 参数之前,表示“先缩放后剪栽”,如果 crop 参数放于 scale 参数之前,则表示“先剪栽后缩放”。
  
8、-ofps 30:(output fps)指定输出媒体文件的帧速,30fps 指每秒种播放 30 个画面。

9、-o output.avi:(output)指定转换后输入媒体的文件名。

基本参数:例如:mencoder input.avi -o output.avi -oac mp3lame -lameopts cbr:br=32 -ovc x264 -x264encopts bitrate=440 -vf scale=448:-3
input.avi 是指输入的视频,也就是你要转换的视频。
-o output.avi 中的“-o”是指你要输出视频,输出的视频名为output.avi。
-oac 设置音频编码器。
mp3lame 设置音频编码器为mp3lame,也是就mp3。
-lameopts 设置mp3lamer的相关参数。
cbr:br=32 设置音频的码率为32。
-ovc 设置视频编码器。
x264 设置视频编码器为x264。
-x264encopts 设置x264的参数。
bitrate-440 设置x264的视频的码率为440。
-vf scale=448:-3 设置视频的宽为448,高为-3,-3的意思就是让mencoder来设置最佳高度。

猜你喜欢

转载自blog.csdn.net/m0_60259116/article/details/125149588
今日推荐