![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
音视频
文章平均质量分 56
weixin_小栓
打工人
展开
-
批量检测出mp4文件的音量偏小问题
文章目录背景脚本使用背景服务端配置异常导致线上出现大量音频异常的mp4文件。上千个文件不可能让审核人员一个个打开检查,所以需要脚本自动检测出异常的视频。脚本我的脚本名称是check_low_volume.sh,内容如下:baseDirForScriptSelf=$(cd "$(dirname "$0")"; pwd)FFMPEG_PATH="/Volumes/MacintoshHD/Git/ffmpeg/ffmpeg/ffmpeg"Dir=$1THREASHOLD=-30.0LOW_VO原创 2022-04-06 08:41:52 · 492 阅读 · 0 评论 -
lame源码android studio下编译
1,下载lame源码下载地址:https://lame.sourceforge.io/download.php2,原创 2021-06-28 17:07:01 · 394 阅读 · 4 评论 -
渲染界面添加水印等思路
文章目录预备知识方案一方案二预备知识默认已经将相机采集的数据通过opengl渲染在安卓的surface上了。渲染需传的主要参数是顶点坐标、纹理坐标和纹理。既然是想将水印放到相机已经采集的纹理上,肯定需要传递水印转换来的纹理到shader里面去,这一步简单,关键是水印坐标如何转换并传递进去。我们要知道渲染的大概理解:surface(如整块黑板)->viewport(如黑板上的显示区域,坐标转换成了中心为(0,0),范围是-1~1的xy轴坐标)->顶点着色器顶点坐标(如在显示区域绘制的图形原创 2021-06-08 15:10:07 · 311 阅读 · 0 评论 -
安卓 eglMakeCurrent使用
安卓要想在native层使用egl api,需要先执行eglMakeCurrent,下面是相关代码。m_egl_display = eglGetDisplay(EGL_DEFAULT_DISPLAY); if (m_egl_display == EGL_NO_DISPLAY) { ml_logE << "eglGetDisplay failed." << std::endl; return; } EGLint major_ve原创 2021-05-18 19:46:08 · 607 阅读 · 0 评论 -
ffprobe常用命令使用
文章目录前言1,ffprobe -show_format的使用2,ffprobe -show_streams的使用3,ffprobe -show_packets的使用4,ffprobe -show_frames的使用样式前言下面的命令主要是按照包含关系的顺序排序的:文件(对应format)、文件里面的流(对应是stream)、流的组成packet(对应的是packets)、packet里面包含的frame(对应的是frames)1,ffprobe -show_format的使用用来查看当前文件的信息原创 2021-05-07 17:29:24 · 943 阅读 · 0 评论 -
基于ffmpeg的播放器,播放m3u8文件时,seek问题
文章目录1,准备知识,seek代码流程:策略:2,问题描述,3,原因分析,1,准备知识,seek代码流程:首先,调用seek设置pls->seek_timestamp等参数ffplay.c:avformat_seek_file->av_seek_frame -> utils.c:seek_frame_internal -> hls.c:hls_read_seek然后,在read_thread里读取packet时是否有seek操作,有的话则判断当前packet和seek ti原创 2021-03-06 10:01:10 · 2016 阅读 · 5 评论 -
安卓硬解MediaCodec主要api
获得输入数据inIndex/** * Returns the index of an input buffer to be filled with valid data * or -1 if no such buffer is currently available. * This method will return immediately if timeoutUs == 0, wait indefinitely * for the availability of an input buffer原创 2021-01-29 16:04:01 · 423 阅读 · 0 评论 -
ffmpeg实现变速播放的两种方案
文章目录1,变速变调2,变速不变调(使用sonic)3,注意1,变速变调在ffplay.c里找到static int audio_decode_frame(EMAVPlayer *player)方法,修改如下(倍速值为player->pf_playback_rate)://设置转换参数 is->swr_ctx = swr_alloc_set_opts(NULL, is->audio_tgt.channel_layout, is->audio_tgt.f原创 2021-01-26 15:57:07 · 4257 阅读 · 2 评论