`
cjblog
  • 浏览: 68676 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

ubuntu ffmpeg yuv convert h264

 
阅读更多

测试环境:

1.ubuntu12.04 (http://www.ubuntu.org.cn/download)

2.ffmpeg-0.11.3 (http://www.ffmpeg.org/releases/)

3.yasm-1.2.0 (http://yasm.tortall.net/Download.html)

4.SDL-1.2.15 (http://www.libsdl.org/download-1.2.php)

5.x264 (通过命令行安装)

第一步查看系统是否已经安装了这些环境。执行命令 dpkg -l yasm ffmpeg x264

 图为我本机安装信息,安装过ffmpeg,yasm,x264。


现在将其全部卸载掉。执行命令sudo apt-get --purge remove ffmpeg x264 yasm

然后安装下面的组件包,我都已经安装过了。

sudo apt-get install build-essential subversion git-core checkinstall texi2html libfaac-dev libfaad-dev libtheora-dev libx11-dev libxvidcore-dev zlib1g-dev libschroedinger-dev libspeex-dev libvpx-dev libx264-dev xorg-dev

 

执行命令查看安装情况: dpkg -l build-essential subversion git-core checkinstall texi2html libfaac-dev libfaad-dev libtheora-dev libx11-dev libxvidcore-dev zlib1g-dev libschroedinger-dev libspeex-dev libvpx-dev libx264-dev xorg-dev


安装yasm-1.2.0.tar.gz,释放包。

tar zxvf yasm-1.2.0.tar.gz

cd yasm-1.2.0

./configure

make

make install

 

接着安装x264用于编码解码操作。

git clone git://git.videolan.org/x264.git

 

 进入到x264目录中进行安装:

cd x264

./configure

make

make install

 安装ffmpeg:

git clone git://git.videolan.org/ffmpeg.git

 tar zxvf ffmpeg-0.11.3.tar.gz

cd ffmpeg-0.11.3

./configure --enable-gpl --enable-shared --enable-postproc --enable-nonfree --enable-x11grab --enable-bzlib --enable-libfaac --enable-libmp3lame --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libxvid --enable-zlib --enable-libvpx --enable-libx264 --enable-pthreads

这步有可能提示缺少某些组件,自己找到名字进行安装后在重复执行。直到类似以下界面:


 

make

make install

 安装SDL用于播放视频:

cd SDL-1.2.15

./configure

make

make install

 

测试播放一个yuv文件试试看。这里有一个素材网站:

http://trace.eas.asu.edu/yuv/index.html

我下载了一个文件tempete_cif_260_352x288.yuv,260帧

cd到该文件的目录:

ffmpeg -threads 4 -s 352x288 -i tempete_260_352x288.yuv -r 29.97 -vcodec libx264 -s 352x288  tempete_260_352x288.mp4



 播放我们转好的h264文件:

ffplay tempete_260_352x288.h264

 现在我们将h264在解码成yuv文件,对比大小看是否一样。

ffmpeg -i tempete_260_352x288.h264 tempete_260_352x288.yuv



 




 

 

 

 

 

 

 

 

 

 

 

  • 大小: 57.5 KB
  • 大小: 105.2 KB
  • 大小: 104 KB
  • 大小: 63.1 KB
  • 大小: 55.7 KB
  • 大小: 104.9 KB
  • 大小: 289.3 KB
  • 大小: 80.2 KB
分享到:
评论

相关推荐

    ffmpeg_yuv_h264

    在这个"ffmpeg_yuv_h264"的主题中,我们将深入探讨如何利用FFmpeg库将自定义的YUV数据编码成H.264格式的视频文件。 YUV是一种常见的颜色空间,广泛应用于视频处理中,因为它可以有效减少存储和传输的带宽需求。在...

    FFMPEG_YUV转H264_编码_本地文件

    FFMPEG_YUV转H264_编码_本地文件

    FFmpeg:YUV转H264,(内存中)H264保存flv

    在本文中,我们将深入探讨如何使用FFmpeg将YUV格式的视频数据转换为H264编码,并将其封装到FLV容器中,所有操作都在内存中完成,无需依赖磁盘I/O。 首先,我们需要理解YUV和H264的基本概念。YUV是一种常见的视频...

    ffmpeg YUV编码成h264

    在本场景中,我们要探讨的是如何使用FFmpeg将YUV图像数据编码成H.264格式,这是一种广泛应用于高清视频传输和存储的高效编码标准。 YUV是视频数据的一种颜色空间表示,通常用于数字视频处理,它将图像分为亮度(Y)...

    YUV转.H264

    开发环境VS2017,利于FFmpeg 将YUV文件编码.264。感谢雷神

    使用ffmpeg将h.264转为yuv格式

    在这个场景中,我们关注的是如何使用FFmpeg将H.264格式的视频文件转换成YUV格式。H.264是一种高效的视频编码标准,广泛应用于高清视频编码,而YUV则是一种常见的数字视频颜色空间,常用于视频处理和编码过程。 首先...

    ffmpeg将YUV转H264

    在“ffmpeg将YUV转H264”这个主题中,我们将深入探讨如何使用FFmpeg库来将原始的YUV图像数据转换为高效的H264编码格式。在VS2012环境下,我们可以编写C++代码来调用FFmpeg API实现这个功能。 首先,我们需要了解YUV...

    yuv文件及开源的yuv转 h264 h264的项目,已经yuv player 播放工具

    将YUV文件转换为H264或H265通常涉及编码过程,这通常由视频编码器如FFmpeg完成。FFmpeg是一个强大的跨平台命令行工具,能够处理多种视频、音频格式的转换和处理任务。使用FFmpeg,你可以编写命令来读取YUV文件,对其...

    ffmpeg_H264文件解码

    在Windows Mobile上,通过FFmpeg的API接口,开发者可以调用解码器对H264流进行解码,将压缩的比特流转换为原始的YUV像素数据。 3. **VC++开发环境**: 在Windows Mobile平台上,使用VC++作为开发语言,需要确保...

    使用FFmpeg截获h264裸码流

    ### 使用FFmpeg截取H.264裸码流详解 #### 一、引言 在多媒体处理领域,FFmpeg是一款极为强大的工具包,能够帮助开发者实现音视频编解码、转码、录制、流媒体传输等多种功能。其中,从RTP流中截取H.264裸码流是一项...

    FFMPEG_H264转YUV_解码_本地文件

    在本教程中,我们将探讨如何使用FFmpeg将H264编码的视频文件转换为YUV格式,并进行本地解码。 首先,让我们了解H264编码和YUV格式。H264,也称为AVC(Advanced Video Coding),是一种高效能的视频编码标准,广泛...

    FFMPEG利用H264+AAC合成TS文件

    FFMPEG利用H264+AAC合成TS文件

    最简单的基于FFMPEG的视频编码器(YUV编码为HEVC H 265 )

    此前做过一个YUV420P像素数据编码为H.264码流的例子。对这个例子进行了升级。升级后编码器实现了YUV420P像素数据编码为H.265码流。 尽管该视频编码器的代码十分简单,但是几乎包含了使用FFMPEG编码一个视频所有必备...

    ffmpeg中求h264视频宽高和帧率的代码

    在FFmpeg中获取H264视频的宽度、高度和帧率是常见的需求,这对于视频处理和分析至关重要。下面我们将详细介绍如何通过FFmpeg的命令行工具来获取这些信息。 首先,我们需要理解H264编码。H264,也称为AVC(Advanced ...

    利用ffmpeg将H264裸流文件封装为MP4文件并保存

    在这个场景下,我们将关注如何使用FFmpeg将H264裸流文件封装为MP4格式。 H264是一种高效的视频编码标准,广泛应用在各种媒体格式中,如MP4、FLV等。它的“裸流”指的是未经容器格式封装的编码数据,通常以二进制...

    FFMPEG_H264

    对于YUV420P到H264的转换,FFmpeg的`avcodec_encode_video2`函数会处理这个过程,将YUV数据压缩成高效的H264码流。 提供的压缩包子文件中,"VIDEO720576.264"可能是一个H264编码的视频文件,其分辨率可能是720x576...

    ffmpeg5.0.1_h264_h265_release_dev

    这个压缩包"ffmpeg5.0.1_h264_h265_release_dev"是FFmpeg的5.0.1版本,特别针对H264和H265编码进行了编译,适合开发者在开发环境中使用。此版本包含了必要的编解码库,使得用户能够在自己的应用程序中支持这两种高效...

    QT FFMPEG播放H264

    在本文中,我们将深入探讨如何在QT框架下利用FFmpeg库播放H264编码的视频。H264是一种高效、广泛使用的视频编码标准,而FFmpeg则是一个强大的开源多媒体处理工具集,包含了编解码器、过滤器和转换功能。QT是一个流行...

    YUV编码H264

    在这个实例程序中,开发者使用了开源工具ffmpeg来实现YUV420P到H264的转换。ffmpeg是一个强大的跨平台工具,集视频处理、编码、解码、转码和流化功能于一体,支持众多视频和音频格式。在C++编程环境下,可以通过调用...

    ffmpeg h264 转换jpg

    - **色彩空间转换**:H264编码的YUV色彩空间可能与JPEG的标准RGB不同,FFmpeg会自动处理色彩空间转换,但有时可能需要自定义设置。 - **质量控制**:JPEG图像的质量由量化表决定,可以使用`-qscale:v`参数调整质量,...

Global site tag (gtag.js) - Google Analytics