首页 > TAG信息列表 > X264

libx264开发笔记(一):libx264介绍、海思平台移植编译

前言   在编译ffmpeg时,使用到h264编码时是需要依赖libx264的,本文章是将将libx264作为静态库移植到海思上。   相关博客 《Qt开发笔记之编码x264码流并封装mp4(一):x264介绍、windows平台x264库编译》《Qt开发笔记之编码x264码流并封装mp4(三):Qt使用x264库对.yuv文件编码为.h2

视频工具mencoder

1. 安装 sudo apt install mencoder 2. 视频转换 3. 图片合并成视频 操作命令 mencoder mf://*.png -mf fps=7:type=png -ovc x264 -x264encopts bitrate=440 -vf scale=640:480 -o outVideo.mp4 命令解释 mf://*.png          是指当前目录下要合并的图片后缀名 -mf

【FFmpeg】x264 编码GOP(决定关键帧的位置):min-keyint 、no-scenecut、

GOP 结论 :GOP设定 KEYINT=N aka ‘force I frame every N frames’ 类似有的编码器的:"–gop-len", which means the same as keyint. 双向预测:B帧 快手的转码参数,直接传递x264的 no-scenecut=1:threads=8:keyint=90

FFmpeg-之X264视频编码与FAAC音频编码(四),flutter中文本框的长度

enc = x264_encoder_open(&params); 获取整个流的pps和SPS: int s = x264_encoder_headers(enc, &nals, &nal_count); x264编码: 初始化图片信息: x264_picture_t picin, picout; x264_picture_init(&picin); 对图片信息参数设定: picin.i_pts = ts; picin.i_type = X264_TY 《A

H264 for ubuntu

1 x264    x264是基于H.264/AVC标准的一款免费、开源的视频编解码器(库),x264是目前使用最广的、最优秀的一款H.264编解码器。x264编解码器支持的功能众多,包括: 8x8与4x4自适应空间变换 自适应B帧选择 B帧作为参考帧/任意帧的顺序 CAVLC / CABAC熵编码 自定义量化矩阵 I帧:所

视频通信中的码率控制算法

码率控制技术RC(Rate Control)是视频编码中一个非常重要的技术模块。不同的应用场景对视频编码的码率控制有不同的需求,离线编码通常采用可变码率(VBR),实时视频系统通常采用恒定码率(CBR)。本篇技术干货将深度剖析视频编码中的码率控制算法,分析其背后的数学模型及理论,希望能帮

Window10下编译x264的过程总结

编译x264的过程总结 1、Window10下各种安全限制,有同学说Linux下编程更省心点,对Linux也不了解,具体怎么样也不知道,寒假有时间好好学学。 2、第一次编译,过程艰辛,来来回回三天有余,但是积累了不少经验。 3、https://martinkeith.blog.csdn.net/article/details/105323052       按

H.264编码器使用

进行H.264编码,C++中比较好用库为libx264,此库封装了H.264编码功能,编码的功能分为几步 1、初始化H.264编码器,指定输入源YUV的格式,m_x264_param中主要配置流尺寸,码率,帧率,等参数,图片输入源设定YUV格式,一般YUV420格式居多,节省存储空间,设置H.264流的尺寸需要和YUV图片尺寸一致。    

音视频技术开发--FFmpeg+libx264配置安装

之前几篇完成了V4L2的学习,通过V4L2我们能够采集到了YUYV的视频数据,不过可以看到直接传输YUV格式的数据,数量量是巨大的,网络延时严重。所以我们需要对YUV数据进行压缩编码。 目前主流的视频编码有h.264/h.265/vp9/AVS/AV1等等,这边我们以最常见最经典的h.264格式来压缩视频。基于学习

音视频技术应用(3)-Linux编译x264,x265,fdk-aac

本文测试的环境为 ubuntu18.06, 下载地址:http://mirrors.aliyun.com/ubuntu-releases/18.04/ubuntu-18.04.6-desktop-amd64.iso 1. 安装可能用到的工具链 打开终端,执行下列指令,安装所有用到的工具链: sudo -i apt-get install make cmake g++ nasm yasm diffutils pkg-config -y

X264性能优化

一、X264性能分析 测试环境 测试环境:Intel Pentium4 3.00GHz  (双核cpu),开启超线程 内存:    DDR 1.00G 操作系统: Windows sever 2003 Enterprise Edition 分析软件: Intel(R) VTune(TM) Performance Analyzer 8.0(评估版lic) 编译软件: VC71+nasm0.98 Bus Speed: 800MHz

libfdk-aac和x264安装编译

//使用libfdk-aac库编码支持(s16) sudo apt-get install libfdk-aac-dev 在编译ffmpeg时需要增加–enable-nonfree --enable-libfdk-aac编译选项 //编译x264,获取网站 http://www.videolan.org/developers/x264.html //打开下载的x264源码,执行./configure --enable-shared --e

迅为imx6开发板QT系统移植FFmpeg-编译x264

FFmpeg(Fast Forward Mpeg)是一种可以用来记录、转换数字音频、视频,并能将其转化为流的多媒体视频处理工具,拥有视频采集功能、视频格式转换、视频抓图等功能。本文档介绍如何将 ffmpeg 移植到ARM 平台。相关的配套资料在网盘资料的“iTOP-i.MX6 开发板资料汇总(不含光盘资料)\08_iTOP

ubuntu编译ffmpeg库

编译环境建议切换到root下操作 下载ffmpeg源码 我下载的是4.06版本,ffmpeg-4.0.6.tar.bz2 http://www.ffmpeg.org/download.html [安装yasm] 新建文件夹/opt/ffmpeglib/,cd进来依次执行 wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz tar xvzf yasm-1

Linux安装ffmpeg,并增加H264编码

需要安装的包为: nasm yasm x264 ffmpeg 安装nasm 可以直接用yasm安装,不过163的源安装的nasm版本为2.10,不符合要求,所以也可以源码编译安装 下载nasm-2.14.02 tar xjvf nasm-2.14.02.tar.bz2 cd nasm-2.14.02 ./autogen.sh ./configure --prefix=/data11/software/nasm make i

libx264 编码参数调整--流媒体

在标题加了个后缀-流媒体。所以主要是借libx264来研究一下其中关于在流媒体场景中(低延时)偏向的设置, 关于编码器 码率,图像效果等等这里面有好多参数,指不定有相互影响的参数,理解的不多,这里借鉴各处博客以及x264官方wiki和libx264源码,官方网站https://www.videolan.org/developers

X264代码走读五(编码器扩边)

一、概述       实际测试时,会发现输入编码器的是一组分辨率,但是编码出来的是另外一组分辨率。比如使用NV硬编码时,发现输入编码器的是1280*720的分辨率,但是实际输出的是1280*728的分辨率。这里面是为了模式遍历、模式选择,进行了扩边操作。      因为硬件的内存一般都是64对

x264 lookahead阶段详解

x264 lookahead阶段详解 lookahead阶段,主要作用是决定输入帧的类型,计算MB-tree两大功能。 本章专门讨论帧类型决策,当一帧Frame被传入x264_encoder_encoode函数之后,Frame会被加入到h->lookahead->next当中,并且Frame的类型会被标记成AUTO类型,此时lookahead线程就会开始异步计算,最终

X264的交叉编译

下载所需要的X264版本 写自动化脚本 #!/bin/sh CONFIGURE_FLAGS="--enable-static --enable-pic --disable-cli" ARCHS="arm64 x86_64 i386 armv7 armv7s" # directories SOURCE="" FAT=`pwd`/"fat-x264" SCRATCH="" # must be a

H.265

Baseline支持I/P 帧,只支持无交错(Progressive)和CAVLC一般用于低阶或需要额外容错的应用,比如视频通话、手机视频等;   Main支持I/P/B 帧,无交错(Progressive)和交错(Interlaced),CAVLC 和CABAC用于主流消费类电子产品规格如低解码(相对而言)的mp4、便携的视频播放器、PSP和Ipod等;   Hig

x264源码分析之P帧的16x16宏块的帧间分析

H264以算法复杂度增加为代价在以下几个方向做了极大的改进: 1、可变大小的图像分块已经帧间、帧内编码 2、基于1/4(亮度)和1/8(色度)像素精度的运动估计 3、多预测参考帧的使用 4、4x4的整数变换 5、先进的熵编码技术 6、去方块滤波器 在以上技术的改进中,帧间编码采用了多模式

FFmpeg源码编译

一、编译libx264 官网:https://www.videolan.org/developers/x264.html 1、下载 git clone https://code.videolan.org/videolan/x264.git 2、编译 #创建生成目录 mkdir out #配置参数 ./configure --prefix=./out --disable-asm --enable-shared --enable-static #编译 make -

windows mklink /d /h /j 精讲

1.mklink命令 格式:MKLINK [[/D] | [/H] | [/J]] 链接名称 目标语法介绍:win+r-->cmd-->输入mklink   命令区别:/d 给目录创建符号链接,简称符号链接、软链接;/h 创建硬链接,简称硬链接;/j 给目录创建联接点,简称软链接。当没有上面3个命令符时,创建是文件软链接!文件类型:.symlink注意

基于X264的动态帧率与动态码率调整的实现

1、动态帧率的实现 1.1 实现思路 依据动态调整因子(由网络状态,CPU状态、程序状态等组成), 计算出当前帧的可用码率,再在时间轴上动态调用x264的API实现对YUV数据帧的编码, 然后对编码帧打上非固定的动态时间戳, 从而实现了码率不变,帧率动态调整技术, 达到: 码率(清晰度)不变,流畅度变化

如何实现x264编码demo定制修改介绍

x264编码器,提供了两个demo来验证编码功能:一个是大而全的x264.c,另外一个是简洁版的example.c。 其中,前者demo,可以配置很多编码参数,但太冗长繁杂,对初学者不太友好。 后者demo,大多参数都已hard code,用户仅需调整width、height、color_space . https://dumall.baidu.com/community/art