自己遇到的问题,后续会继续更新,也希望各位把遇到的问题和解决方法列在后面
继续阅读 »
ubuntu环境下GDB调试FFMPEG+X264+MP3遇到的问题
最简单的基于FFMPEG的转码程序
本文介绍一个简单的基于FFmpeg的转码器。它可以将一种视频格式(包括封转格式和编码格式)转换为另一种视频格式。转码器在视音频编解码处理的程序中,属于一个比较复杂的东西。因为它结合了视频的解码和编码。一个视频播放器,一般只包含解码功能;一个视频编码工具,一般只包含编码功能;而一个视频转码器,则需要先对视频进行解码,然后再对视频进行编码,因而相当于解码器和编码器的结合。下图例举了一个视频的转码流程。输入视频的封装格式是FLV,视频编码标准是H.264,音频编码标准是AAC;输出视频的封装格式是AVI,视频编码标准是MPEG2,音频编码标准是MP3。从流程中可以看出,首先从输入视频中分离出视频码流和音频压缩码流,然后分别将视频码流和音频码流进行解码,获取到非压缩的像素数据/音频采样数据,接着将非压缩的像素数据/音频采样数据重新进行编码,获得重新编码后的视频码流和音频码流,最后将视频码流和音频码流重新封装成一个文件。
继续阅读 »
Windows下FFmpeg调试
为了深入了解ffmpeg的工作原理,需要阅读源代码,调试源代码。在Windows下调试ffmpeg源码,一种方法是在MinGW+Msys环境下,利用GDB进行调试;另一种是借助Eclipse进调试,其本质也是调用GDB进行调试,只是提供了良好界面,便于用户交互。本文主要记录利用Eclipse调试FFmpeg源码的过程。
继续阅读 »
Windows下FFmpeg编译
由于FFmpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译,需要在Windows下配置一个类似Linux的编译环境。本文主要记录Windows下FFmpeg编译的过程。
1.资源准备
准备编译过程所需的软件工具和源代码。
继续阅读 »
FFmpeg常用基本命令
1.分离视频音频流
1 2 |
ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流 |
2.视频解复用
1 2 |
ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264 ffmpeg –i test.avi –vcodec copy –an –f m4v test.264 |
3.视频转码
1 2 3 4 |
ffmpeg –i test.mp4 –vcodec h264 –s 352*278 –an –f m4v test.264 //转码为码流原始文件 ffmpeg –i test.mp4 –vcodec h264 –bf 0 –g 25 –s 352*278 –an –f m4v test.264 //转码为码流原始文件 ffmpeg –i test.avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi //转码为封装文件 //-bf B帧数目控制,-g 关键帧间隔控制,-s 分辨率控制 |
近期评论