텍스트가 원래 문서의 경우, 허가없이 복제 할 수 없다
원래 블로거의 블로그 주소 : https://blog.csdn.net/qq21497936
원래 블로거 탐색 블로그 : https://blog.csdn.net/qq21497936/article/details / 102 478 062
이 문서의 블로그 주소 : https://blog.csdn.net/qq21497936/article/details/104081729
디렉토리
단계 : 구성 부족 yasm (지원 조립 설명서 최적화와 같은 외모,하지 제어)
다섯 (보충) 단계 : 개발자가 설치 후 다시로드해야 들어
Qt는 +는 FFmpeg 프로젝트 템플릿 및 건축 환경의 우분투
구덩이에 : YUV하지 포맷 플레이어 재생 플레이어는 (: yuv420p, YUV444 등 w 세트, 시간, 심지어 형식) 전용 YUV 재생할 수 있습니다
구덩이 II에 : 프로젝트가 성공적으로 컴파일하지만 작업이 자동으로 실패는 FFmpeg을 설치 한 후
는 FFmpeg 개발 상자
" 는 FFmpeg 개발 노트 (A)는 FFmpeg 소개, 빌드 (와 Mingw 및 MSVC)에 윈도우 개발 환경 "
" 는 FFmpeg 개발 노트 (B)는 FFmpeg 빌드 개발 환경 및 컴파일러 우분투 "
"노트는 FFmpeg 개발의 (c)는 FFmpeg yuv420p 아비 / MP4 저장 인코딩"해제 될
"노트는 FFmpeg 개발의 (d)는 FFmpeg 디코딩 AVI / MP4 플레이어는"해제 될
보충에 계속 ...
는 FFmpeg 개발 노트 (B)는 FFmpeg 빌드 우분투의 개발 환경 및 컴파일러
축복
나는 당신에게 모든 행복한 새해 새해를 기원합니다! ! !
무한 어서, 전국 각지에서 사람들에 이리와! ! !
머리말
이 장에서는 본 섹션 일 수있는 중요한 크로스 컴파일러를 참조하여, 빌드 ubuntu18.04 컴파일러와 개발 환경 FFmpeg를 설명한다.
는 FFmpeg 다운로드
현재 사용의 여러 버전을 사용하여이 장에서는 이전 장에서, 변경 4 3 실제 뭔가를 ffmpeg4을 컴파일, 나는이 특정로하지 않습니다.
이 섹션을 3.2.14 버전을 사용합니다.
공식 다운로드 : http://ffmpeg.org/download.html#releases
CSND 다운로드 : https://download.csdn.net/download/qq21497936/12104638
3.2 시리즈의 최신 버전.
컴파일는 FFmpeg
단계 : 다운로드 폴더에 배치 컴파일 할
단계 : 구성 부족 yasm (지원 조립 설명서 최적화와 같은 외모,하지 제어)
(참고 : prefix 매개 변수가 지정되지는 기본 시스템에 직접 설치)
./configure
변경 매개 변수 구성을 계속 동적 라이브러리를 변경 :
./configure --disable-yasm --enable-shared
3 단계 : 컴파일러 메이크업
make
4 단계 : sudo는 메이크업 설치 설치
sudo make install
다섯 (보충) 단계 : 개발자가 설치 후 다시로드해야 들어
ldconfig
명령 줄 테스트
보기 버전
의 MPEG4 형식을 켜고 MP4로 패키지 YUV
ffmpeg -s 176x144 -pix_fmt yuv420p -i 176_144.yuv -vcodec mpeg4 176_144.mp4
Qt는 +는 FFmpeg 프로젝트 템플릿 및 건축 환경의 우분투
(시스템을 포함에서 헤더 파일이 기본적으로 포함) 라이브러리를 추가
는 FFmpeg 추가 기능 및 검색 경로를 구성은, 빌드 단계는 또한 "를 참조 할 수 는 FFmpeg 개발 노트 (A) : 빌드 (와 Mingw 및 MSVC)으로는 FFmpeg 소개, 윈도우 개발 환경 "에서 " 새로운는 FFmpeg 프로젝트 "의 주요 차이점은 다음, 구성 파일의 존재입니다 :
FFmpegServer.pri (I에는 추가 도입하지 않는 시스템 헤더 파일 및 라이브러리를 사용)
LIBS += \
-lavcodec \
-lavdevice \
-lavfilter \
-lavformat \
-lavutil \
-lpostproc \
-lswscale
FFmpegMnager.h
#ifndef FFMPEGMANAGER_H
#define FFMPEGMANAGER_H
#include <QObject>
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
#include <libavdevice/avdevice.h>
#include <libavformat/version.h>
#include <libavutil/time.h>
#include <libavutil/mathematics.h>
}
class FFmpegManager : public QObject
{
Q_OBJECT
public:
explicit FFmpegManager(QObject *parent = nullptr);
signals:
public:
void testEnv();
};
#endif // FFMPEGMANAGER_H
FFmpegManager.cpp
#include "FFmpegManager.h"
#include <QDebug>
FFmpegManager::FFmpegManager(QObject *parent) : QObject(parent)
{
}
void FFmpegManager::testEnv()
{
qDebug() << __FILE__ << __LINE__ << avcodec_configuration();
}
测试运行输出
工程模板v1.0.0
工程模板v1.0.0:
- 使用系统ffmpeg库;
- 使用系统ffmpeg头文件;
- 模板不带ffmpeg库(使用系统库文件);
- 不单独带ffmpeg头文件(使用系统头文件);
- 包含一个测试函数测试环境是否搭建成功。
入坑
入坑一:播放器播放不出yuv格式,专用播放器可以播放yuv(需要设置w、h,甚至是格式:yuv420p,yuv444等等)
原因:
yuv格式用播放器是播放不出来的,因为yuv是原始数据格式,需要设置播放的宽度和高度才能正确解析,大部分播放器不会这么智能。
解决方法:
不播放,直接使用ffmpeg命令进行转换
ffmpeg -s 176x144 -pix_fmt yuv420p -i 176_144.yuv -vcodec mpeg4 176_144.mp4
入坑二:安装ffmpeg后,工程编译成功,但是运行提示失败
原因:
安装完ffmpeg,但是库的路径没有更新。
解决方法:
需要重启计算机或者使用命令ldconfig进行库路径更新,当然也可以设置
QT_LIBRARY_PATH=/usr/local/lib
直接引入。
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/104081729