FFmpegの開発ノート(B):ffmpegのビルドのUbuntuでの開発環境とコンパイラ

テキストは、元の記事がある場合は、許可なしに複製してはならない
オリジナルのブロガーのブログのアドレスの:https://blog.csdn.net/qq21497936
元ブロガーがナビゲーションブログ:https://blog.csdn.net/qq21497936/article/details / 102 478 062
この記事のブログのアドレス:https://blog.csdn.net/qq21497936/article/details/104081729

ディレクトリ

序文

FFmpegのダウンロード

コンパイルffmpegの

ステップ1:フォルダに配置され、ダウンロード、コンパイル

ステップ2:設定不足のyasm(支持アセンブリ命令の最適化のように見えます、しないコントロール)

ステップ3:コンパイラのメイク

ステップ4:sudoのmake installをインストールします。

ステップ5(サプリメント):開発者は、インストール後に再ロードする必要があるため

コマンドラインのテスト

ビューバージョン

MPEG4形式をオンにし、mp4形式としてパッケージYUV

Qtの+のFFmpegプロジェクトテンプレートと構築された環境のubuntu

テスト実行の出力

プロジェクトテンプレートv1.0.0デベロッパー

ピットへ

ピットへ:YUVフォーマットではないプレーヤーの再生、プレーヤーは(:YUV420P、YUV444などのセットW、H、でも形式に)専用のYUVを再生することができます

ピットIIへ:ffmpegのをインストールした後、プロジェクトが正常にコンパイルが、操作は黙って失敗しました


FFmpegの開発ボックス

" FFmpegの開発ノート():ビルドにffmpegの導入、Windows開発環境(mingwのとMSVC) "

FFmpegの開発ノート(B):ffmpegのビルド開発環境とコンパイラのubuntu

"FFmpegの開発ノート(C):ffmpegのエンコーディングYUV420P AVI / MP4として記憶":リリースされます

"FFmpegの開発ノート(D):ffmpegのデコードaviファイル/ MP4プレーヤー":解放されます

サプリメントを続けて...

 

    FFmpegの開発ノート(B):ffmpegのビルドのUbuntuでの開発環境とコンパイラ

 

祝福

私はあなたにすべての幸せな大晦日大晦日をしたいです!

武漢は、さあ、全国の人に来て!

 

序文

       この章では、本セクションもあり、関連するクロスコンパイラを参照して、ビルドに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の

ステップ1:フォルダに配置され、ダウンロード、コンパイル

ステップ2:設定不足のyasm(支持アセンブリ命令の最適化のように見えます、しないコントロール)

       (注:prefixパラメータが指定されていない場合、デフォルトでは、システムに直接インストールされます)

./configure

       変更パラメータは、動的ライブラリを変更、設定を続行します。

./configure --disable-yasm --enable-shared

ステップ3:コンパイラのメイク

make

 

ステップ4:sudoのmake installをインストールします。

sudo make install

ステップ5(サプリメント):開発者は、インストール後に再ロードする必要があるため

ldconfig

 

コマンドラインのテスト

ビューバージョン

MPEG4形式をオンにし、mp4形式としてパッケージYUV

ffmpeg -s 176x144 -pix_fmt yuv420p -i 176_144.yuv -vcodec mpeg4 176_144.mp4

 

Qtの+のFFmpegプロジェクトテンプレートと構築された環境のubuntu

(ヘッダファイルには、システムにデフォルトで含まれています)ライブラリを追加

FFmpegの検索パスを追加し、設定、ビルドステップも参照することができ、「:FFmpegの開発ノート()のビルドにffmpegの導入、Windows開発環境(mingwのとMSVCは)」の「新しいのFFmpegプロジェクト、次のように、」主な違いは、コンフィギュレーション・ファイルの存在です。

FFmpegServer.pri(私は追加は導入しないシステムヘッダファイルとライブラリを使用します)

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

发布了228 篇原创文章 · 获赞 238 · 访问量 40万+

おすすめ

転載: blog.csdn.net/qq21497936/article/details/104081729