2011-03-15 284 views
0

如何使用针对mac应用程序的h264编码来记录YUV视频并将其编码为mp4。 Plz建议我关于它的任何链接。将YUV视频流转换为mp4

+0

如果您阐述这将有助于一点:为什么YUV,你有输出YUV捕获设备或者你有一个原始YUV文件?你想在Mac上进行编码还是在Mac上使用?后者在很大程度上无关紧要,如果您将它用标准H.264编码到mp4容器中。 – Ralf 2011-03-15 09:27:13

+0

@Ralf:我没有任何原始的YUV文件,也没有任何捕获设备输出YUV文件。我必须创建一个mac库,从相机记录YUV视频并将其转换为mp4 – iPhoneDv 2011-03-15 09:51:04

+0

您是否看过VLC? – Ralf 2011-03-15 14:36:27

回答

0

FFMpeg可以通过libx264编码器将YUV编码为H.264(H.264)。但是您必须指定源视频的精确YUV像素格式。有几种YUV格式。

实施例:

$ ffmpeg -vcodec rawvideo -f rawvideo -pix_fmt yuv420p -i <SOURCE_VIDEO> -s 1280x720 -r 25 -vcodec libx264 -an -vpre slower -crf 25 

下面的列表显示YUV像素格式可以通过FFMPEG进行解码。

$ ffmpeg -pix_fmts 2>&1 | grep yuv 
yuv420p  
yuv422p  
yuv444p  
yuv410p  
yuv411p  
yuvj420p 
yuvj422p 
yuvj444p 
yuv440p  
yuvj440p 
yuva420p 
yuv420p16le 
yuv420p16be 
yuv422p16le 
yuv422p16be 
yuv444p16le 
yuv444p16be 
yuv420p9be 
yuv420p9le 
yuv420p10be 
yuv420p10le 
yuv422p10be 
yuv422p10le 
yuv444p9be 
yuv444p9le 
yuv444p10be 
yuv444p10le 
+0

不幸的是,这不适合我。 “缓冲区大小无效,数据包大小34419 <预计frame_size 115200 解码流#0时出错:0:无效参数” – 2015-06-09 23:25:13

0

这是使用MacOSX命令行(任何版本)转换视频格式的最简单方法。首先下载这个压缩文件并将其解压到你的电影文件夹:

https://drive.google.com/file/d/0B3NlLwMD4yd9QU0yVGJyU1NiUDA/view?usp=sharing

然后,您将有一个MMedia_Converter目录有两个应用:MMedia_Convert和Android_Converter。这些是我自己开发的MacOSX开源应用程序,基于FFMpeg Group和HandBrake Group France以前的工作。两者都完全符合Mac Compilled应用程序,你只能将它们提取到电影文件夹。

您还有3个文件夹:clip_in,clip_out和脚本。

您必须将要转换的视频放入clip_in文件夹中。

转换后的输出视频将自动在clip_out文件夹中生成。

此外,你有2个bash脚本,你必须移动到你的Mac OSX桌面。

一旦这些bash在桌面上,使用TextEdit编辑它们,然后用您的Mac名称更改我的用户名。

在我的情况下,我使用一个脚本生成缩略图,另一个生成缩略图,并自动将视频从任何formar转换为我选择的其他视频。

“无论”的意思是,如果你想将mpeg转换为mkv,你必须声明:DEST_EXT=mkv(或者你想要的已知视频格式)。

希望这会帮助你。

最好的问候,托马斯·埃尔南德斯