mkv

海思HI35xx平台软件开发快速入门之H264解码实例学习

岁酱吖の 提交于 2020-05-08 19:38:32
ref :https://blog.csdn.net/wytzsjzly/article/details/82500277 前言 H264视频编码技术诞生于2003年,至今已有十余载,技术相当成熟,它的优势在于有高的视频的压缩率,利用帧间和帧内预测(Estimation)、变换(Transform)和反变换、量化(Quantization)和反量化、环路滤波(Loop Filter)、熵编码(Entropy Coding)等视频编码技术,可以实现高质量、低码率的视频流编码。H.264提供了网络抽象层NALU(Network Abstraction Layer)概念对编码出来的视频码流进一步格式封装,使得H.264的文件能容易地在不同网络上传输,以达到低带宽占用、低播放延时的目的。相信在未来几年H.264仍是视频编码的主流技术,尽管在2013年提出了H.265新一代视频编码技术,但是H265的压缩率仅仅提高40%,复杂程度却提升%50以上,这对硬件性能提出新的要求。本文讲述如何在海思HI35xx平台上实现H.264解码。 背景知识 先来弄清楚视频格式和视频编码的相互关系,视频格式可以理解为一个容器,它将编码器生成的多媒体内容(视频,音频,字幕,章节信息等)混合封装在一起的标准,这样就能很好处理视频、音频、字幕的播放同步问题,常见的视频格式有mp4、avi、flv、rmvb、mkv等等

FFmpeg基础使用

删除回忆录丶 提交于 2020-04-30 11:42:03
欢迎大家访问我的博客: blog.54newpower.top 1.下载安装配置过程省略 windows平台直接下载,添加环境变量即可;Linux平台根据官网说明,结合使用的发行版本自行安装;manjaro Linux自带ffmpeg,免除安装 2.编码转换-编码\音频转换 ffmpeg -i input.mov output.mp4 ffmpeg -codecs 查看编解码器 视频封装方案: mp4封装:h264视频编码+aac音频编码 最常见,最成熟 webM封装:vp8视频编码+vorbis音频编码 谷歌的方案,YouTube使用 ogg封装:theora视频编码+vorbis音频编码 完全开源 ffmpeg -i in.flac -acodec libmp3lame -ar 44100 -ab 320k -ac 2 output.mp3 -acodec 指定音频编解码器;不指定,会根据输出文件的拓展名自动匹配 -ar 指定音频采样率;比较常见的有44100kHz和48000kHz;不输入默认使用原音频的采样率 -ab 指定音频的比特率;不输入默认128kbps -ac 设置音频的声道数量;1单声道,2立体声默认与原音频一致 3.编码转换-视频压制 ffmpeg -i input.webm -s 1920x1080 -pix_fmt yuv420p -vcodec

音视频总结篇

天大地大妈咪最大 提交于 2020-04-28 20:38:56
音频,PM3, wma,wav VGA ->r,g,b yuv,rgb,亮度色差 CD音频格式,采样率44.1,编码位数16,位,立体声双声道;采样时间为60s, 则其数据量为: ([44.1×1000×16×2×(5×60)] /(8×1024×1024) =50.47MB)。 mpeg->i,b,p,b帧, 熵,最小比特数, P帧图像-》参考前项I,P帧运动补偿。, 帧间预测编码B帧,-》用活动图像序列相邻帧之间的相关性,它可以获得比帧内预测编码的多压缩比。 帧内预测编码I帧; sps,pps, MPEG 视频基本码流结构: header, AMR ->文件头标识6个字节,-》音频帧; 数字音频编码:wav, .ape,mp3,wma,m4a,acc ffmpeg->解封装,视频数据:flv,mkv,mp4,mov 压缩音频数据 aac,mp3 压缩视频数据 h264,mpeg2 音频解码 pcm 视频软解码avframe-> yuv, 硬解码 avpacket 像素转换-》yuv->rgb 视频封装格式:MP4,flv,wmv,mov, vlc播放器; 播放器信息查看工具: MediaInfo, 视频封装格式:mp4,flv,wmv,mov, 封装格式作用->视频流+音频流 视频压缩数据格式-》h264,mpeg2, 音频压缩数据格式-》MP3,aac mpeg2-

OSS 解决方案篇-OSS 结合 媒体处理 使用

亡梦爱人 提交于 2020-04-20 14:37:33
先了解 MPS 媒体处理(ApsaraVideo Media Processing,原MTS)是一种多媒体数据处理服务。它以经济、弹性和高可扩展的音视频转换方法,帮助您将存储于OSS的音视频转码成适合在PC、TV以及移动终端上播放的格式。并基于海量数据深度学习,对音视频的内容、文字、语音、场景多模态分析,实现智能审核、内容理解、智能编辑。 支持格式 输入格式 容器格式:3GP、AVI、FLV、MP4、M3U8、MPG、ASF、WMV、MKV、MOV、TS、WebM、MXF 视频编码格式:H.264/AVC、H.263、 H.263+、H.265、MPEG-1、MPEG-2、MPEG-4、MJPEG、VP8、VP9、Quicktime、RealVideo、Windows Media Video 音频编码格式:AAC、AC-3、ADPCM、AMR 来源: oschina 链接: https://my.oschina.net/u/4355717/blog/3277319

FFMpeg无损合并视频的多种方法

为君一笑 提交于 2020-04-14 16:16:25
【推荐阅读】微服务还能火多久?>>> 转自:https://www.jianshu.com/p/a9bccc12229b 众所周知,从某些视频网站下载的视频是分段的。比如新浪视频每隔6分钟分段,俗称“ 6分钟诅咒 ”。 现在的任务是将这些视频片段合并起来,并且尽量无损。 方法一:FFmpeg concat 协议 对于 MPEG 格式的视频,可以直接连接: ffmpeg -i "concat:input1.mpg|input2.mpg|input3.mpg" -c copy output .mpg 对于非 MPEG 格式容器,但是是 MPEG 编码器(H.264、DivX、XviD、MPEG4、MPEG2、AAC、MP2、MP3 等),可以包装进 TS 格式的容器再合并。在新浪视频,有很多视频使用 H.264 编码器,可以采用这个方法 ffmpeg -i input1 .flv -c copy -bsf :v h264_mp4toannexb -f mpegts input1 .ts ffmpeg -i input2 .flv -c copy -bsf :v h264_mp4toannexb -f mpegts input2 .ts ffmpeg -i input3 .flv -c copy -bsf :v h264_mp4toannexb -f mpegts input3 .ts

ffmpeg 常用命令汇总

纵然是瞬间 提交于 2020-04-12 10:11:30
引言 开源音视频处理工具FFMPEG以其强大的功能而在音视频领域著称,从音视频格式转换、裁剪、拼接、提取字幕到提取视频流,编解码等无所不能,本页汇集整理FFmpeg常用命令。更多影音视频相关技术干货:请关注工重号:影音探长 常用命令示例 ffmpeg -h // 帮助 ffmpeg -version // 版本信息 ffmepg -devices // 查看可用设备 ffmpeg -i input.mp4 // 查看视频信息 ffmpeg 命令行参数解析 00:00:46.61 视频时长 3949kb/s 码率 h264:视频编码格式 avc1:苹果公司开发的复合h264规范的格式 yuv420p:视频颜色编码方式 960x400:分辨率 SAR 1:1 :图像采集时,采集的宽高点阵的点数比值 DAR:图像宽高比 PAR:像素的长宽比 23.98 fps: 帧率 23.98 tbr: 帧率 24k tbn: 文件层的时间精度1S=24k,一秒增加24k 47.95 tbc:视频层的时间精度1S=47.95,一秒增加47.95 aac:音频编码格式 mp4a: stereo:立体声 fltp:音频帧格式 常用命令示例 不显示FFmpeg的banner信息 $ ffmpeg -i video.mp4 -hide_banner 基本格式转换 ffmpeg.exe -i input.mkv

输入输出

大兔子大兔子 提交于 2020-03-26 18:01:11
3 月,跳不动了?>>> 输入输出 屏幕输出 print 功能 用于打印(输出)信息到屏幕(例如字符串或表达式) 语法 print 字符串 print 'hello, world!' print 表达式 x = 1 y = 2 print x + y 版本 2.x版本是一个语句 3.x版本是一个函数 3.x版本需要加一个括号 举例 print '这是一个print打印函数' print 'a','b','c' print '1 + 1' print (1 + 1) 键盘输入 raw_input 功能 用于接收键盘输入 语法 i = raw_input( ) 举例 s = raw_input('请输入您的账号:') print '您的账号是:', s input 功能 用于接入键盘输入,输入内容可以是表达式 语法 i = input( ) 举例 s = input('请输入您的公式:') #input可以输入表达式,然后返回计算结果 print '您的结果是:', s 文件处理 1)文件打开 语法 file_object = open(file_name, access_mode, buffering) 文件分类 ​ 文本文件 ​ 使用文本编辑器可以修改 ​ html ​ doc ​ xls ​ ppt ​ txt ​ 可以被我们阅读和理解 ​ 相比二进制文件,体积更大一些 ​

移动端实时音视频直播采集技术详解

随声附和 提交于 2020-03-19 12:04:06
3 月,跳不动了?>>> 采集是整个视频推流过程中的第一个环节,它从系统的采集设备中获取原始视频数据,将其输出到下一个环节。视频的采集涉及两方面数据的采集:音频采集和图像采集,它们分别对应两种完全不同的输入源和数据格式。 采集内容 1 音频采集 音频数据既能与图像结合组合成视频数据,也能以纯音频的方式采集播放,后者在很多成熟的应用场景如在线电台和语音电台等起着非常重要的作用。音频的采集过程主要通过设备将环境中的模拟信号采集成 PCM 编码的原始数据,然后编码压缩成 MP3 等格式的数据分发出去。常见的音频压缩格式有:MP3,AAC,OGG,WMA,Opus,FLAC,APE,m4a 和 AMR 等 音频采集和编码主要面临的挑战在于: 延时敏感; 卡顿敏感; 噪声消除(Denoise); 回声消除(AEC); 静音检测(VAD); 各种混音算法等。 在音频采集阶段,参考的主要技术参数有 : 采样率(samplerate): 采样就是把模拟信号数字化的过程,采样频率越高,记录这一段音频信号所用的数据量就越大,同时音频质量也就越高; 位宽: 每一个采样点都需要用一个数值来表示大小,这个数值的数据类型大小可以是:4bit、8bit、16bit、32bit 等等,位数越多,表示得就越精细,声音质量自然就越好,而数据量也会成倍增大。 声道数(channels):

How to read MKV bytes as video?

三世轮回 提交于 2020-03-19 06:41:32
问题 I am receiving fragment of MKV video in bytes. I need to take 1st frame of it for later processing without saving video in disk. For similar problem with image I use OpenCV or PIL and everything works fine, however, I am not able to do the same with video data. Any tips how to read video from bytes to memory object that I could use for later processing with OpenCV or some other library? 回答1: As I don't have your bytes buffer, I just created an MKV video file with ffmpeg like this: ffmpeg -i

ms windows 中类似linux文件映射的命令 mklink

安稳与你 提交于 2020-03-10 11:53:38
有些时候,比如用phpStudy测试js时,不能使用含有中文的路径,复制又麻烦,此时用mklink命令就好了 D:\Temp>mklink /j xxx X:\中文目录\aaa 以上命令的意思是:将X:\中文目录\目录下的aaa目录,映射到d:\Temp\下的xxx目录 注意:先不要在d:\Temp\下建立xxx,运行后会自动生成xxx目录 1.mklink命令 格式:MKLINK [[/D] | [/H] | [/J]] 链接名称 目标 语法介绍: win+r--> cmd -->输入 mklink ##建立d:develop链接目录,指向远程的目标服务器上的e盘的对应目录。 mklink /d d:\develop \\138.20.1.141\e$\develop ##建立d:develop链接目录,指向远程的目标服务器上的e盘的对应目录。 mklink /d d:\recivefiles \\138.20.1.141\e$\recivefiles #删除虚拟的链接目录,并不会删除远程文件夹真实文件,注意千万不能用del,del会删除远程的真实文件。 rmdir d:\recivefiles rmdir d:\develop 命令区别: /d 给目录创建符号链接,简称符号链接、软链接; /h 创建硬链接,简称硬链接; /j 给目录创建联接点,简称软链接。