音视频
文章平均质量分 72
音视频开发、音视频知识等
_沥川往事
这个作者很懒,什么都没留下…
展开
-
在windows上交叉编译android平台的ffmpeg库
前置条件:Android NDK,可以通过android studio直接下载 msys2,https://www.msys2.org/ ffmpeg源码,https://ffmpeg.org/download.html#releases在任意目录新建脚本"build_ffmpeg.sh",内容如下:前几行根据自己的路径来改写。 configure后面也可以根据自己的需要来裁剪一些功能。#!/bin/bashset -eSRC_DIR=D:/Program/ffmpeg-4.4原创 2021-07-10 17:30:24 · 1701 阅读 · 12 评论 -
RGB与YUV的来源
一、历史来源YUV格式是1938年由一个法国通信工程师M. Georges Valensi发明的,(专利FR patent 841335, Valensi, Georges, "Procédé de télévision en couleurs", published 1939-05-17, issued 1939-02-06)它能使得彩色电视的信号完全兼容黑白电视,因此被广泛使用。全球两大主要的电视广播制式(PAL/NTSC)都使用YUV作为信号传输格式。YUV中的Y表示亮度lu.原创 2021-03-28 22:29:25 · 1539 阅读 · 1 评论 -
python计算PSNR
将两张图都转成float64进行计算,且归一化到0~1,防止精度丢失import numpy as npdef getpsnr(img1,bitdepth1,img2,bitdepth2): img1 = np.float64(img1) / (2**bitdepth1-1) img2 = np.float64(img2) / (2**bitdepth2-1) ...原创 2020-02-28 11:12:32 · 1595 阅读 · 2 评论 -
HEIC/HEIF和BPG——从HEVC扩展出的图片压缩格式
HEIC(high efficiency image container),又称HEIF(high efficiency image format),是由MPEG于2014年制定的图片压缩标准。率先由苹果在iOS11中推广使用,小米10也加入了这一阵营,这有利于新格式的普及和旧格式(JPEG)的淘汰。链接:MPEG-H part12BPG(Better Portable Graphi...原创 2020-02-13 15:26:47 · 2393 阅读 · 0 评论 -
视频编码标准常用链接
总结到表格中如下:标准 H.264/AVC H.265/HEVC H.266/VVC 联合专家组名称 JVT(Joint Video Team) JCT-VC(Joint Collaborative Team on Video Coding) JVET(Joint Video Exploration Team) fraunhofer主页 htt...原创 2019-10-24 17:40:32 · 1048 阅读 · 0 评论 -
python opencv 读取指定帧 或将整个视频读取为numpy array
直接上代码:假设需要获取某视频的第50帧:import cv2cap = cv2.VideoCapture('XXX.avi') #返回一个capture对象cap.set(cv2.CAP_PROP_POS_FRAMES,50) #设置要获取的帧号a,b=cap.read() #read方法返回一个布尔值和一个视频帧。若帧读取成功,则返回Truecv2.imsho...原创 2018-06-19 16:00:11 · 34902 阅读 · 10 评论 -
bitdepth 和 bpp(bits per pixel) 的区别; ffmpeg中所有支持的图片存储格式(pixel format)
最近在用ffmepg做各种图片格式的转码,现总结一下这两个概念的区别。(以下假设图片宽为W,高为H)bitdepth是指每个通道的每个像素分量的有效比特数,它越高,表示该图片格式能表示的总颜色数上限越高。bitdepth =总有效比特数/(所有通道的总像素分量数目). bpp(bits per pixel)是指每个像素所占用的有效比特数(忽略通道),bpp = 总有效比特数/总像素数...原创 2018-11-01 11:44:21 · 15428 阅读 · 4 评论 -
用python读取YUV文件 转RGB 8bit/10bit通用
注:本文所指的YUV均为YUV420中的I420格式(最常见的一种),其他格式不能用以下的代码。位深为8bit时,每个像素占用1字节,对应文件指针的fp.read(1);位深为10bit时,每个像素占用2字节,对应文件指针的fp.read(2);然后使用 int.from_bytes() 方法将二进制转换为int型数字。以下程序可以读8bit或10bit位深的YUV,需要指定...原创 2018-10-31 09:40:33 · 7687 阅读 · 4 评论 -
使用python和ffmpeg 批量将其他图片转换为.yuv格式
转载请注明出处。由于跑编码的需要,所以需要制作一个.yuv格式的图片数据集,但是手头只有.png/.jpg格式的,故记录下转换过程。其他图片格式也可以,代码里修改一下就行。单个文件转换的命令为:ffmpeg -i xxx.png -s WxH -pix_fmt yuv420p10le xxx.yuv-i表示输入的图片的路径 -s表示输出图片的分辨率-pix_f...原创 2018-10-29 20:27:11 · 6051 阅读 · 7 评论