FFmpeg Delphi/Pascal Headers and Examples Ported from FFmpeg 4.1.4 Tested on Delphi 6 to Delphi 10.3 Rio and FPC 3.0.2 (Win32 only) \CompilerDefines.inc .......\FFTypes.pas .......\libavcodec.pas .......\libavcodec_avfft.pas .......\libavdevice.pas .......\libavfilter.pas .......\libavfilter_avcodec.pas .......\libavfilter_buffersink.pas .......\libavfilter_buffersrc.pas .......\libavfilter_formats.pas .......\libavformat.pas .......\libavformat_avio.pas .......\libavformat_url.pas .......\libavutil.pas .......\libavutil_audio_fifo.pas .......\libavutil_avstring.pas .......\libavutil_bprint.pas .......\libavutil_buffer.pas .......\libavutil_channel_layout.pas .......\libavutil_common.pas .......\libavutil_cpu.pas .......\libavutil_dict.pas .......\libavutil_display.pas .......\libavutil_error.pas .......\libavutil_eval.pas .......\libavutil_fifo.pas .......\libavutil_file.pas .......\libavutil_frame.pas .......\libavutil_imgutils.pas .......\libavutil_log.pas .......\libavutil_mathematics.pas .......\libavutil_md5.pas .......\libavutil_mem.pas .......\libavutil_motion_vector.pas .......\libavutil_opt.pas .......\libavutil_parseutils.pas .......\libavutil_pixdesc.pas .......\libavutil_pixfmt.pas .......\libavutil_rational.pas .......\libavutil_samplefmt.pas .......\libavutil_time.pas .......\libavutil_timestamp.pas .......\libswresample.pas .......\libswscale.pas .......\libversion.inc .......\LICENSE.txt
2024-09-28 20:06:44 362KB ffmpeg delphi headers
1
OS:CentOS release 6 Kernel: 2.6.32-754.35.1.el6.x86_64 ffmpeg: 2.6.8 虽然下载速度慢点,但成功安装了多台机器
2024-09-28 20:04:48 812B centos6 ffmpeg
1
FFmpeg易语言应用例程是一套使用易语言编写的程序示例,主要目的是为了帮助开发者理解和使用FFmpeg库在易语言环境下进行音视频处理。FFmpeg是一个强大的开源跨平台工具集,涵盖了音频、视频的编码、解码、转码、流处理等功能。易语言则是一种以中文为编程语言的开发环境,旨在降低编程难度,让普通用户也能进行软件开发。 在易语言中使用FFmpeg,首先需要了解FFmpeg的基本概念和接口。FFmpeg库包括多个核心组件,如libavformat用于处理多媒体容器格式,libavcodec处理编码和解码,libavutil包含通用工具函数,libavfilter则用于视频和音频的过滤操作。开发者需要通过易语言的C语言接口模块(CImport)来导入FFmpeg的动态链接库,并调用相应的函数。 在FFmpeg应用例程中,可能会包含以下内容: 1. **初始化与配置**:启动FFmpeg库,设置全局配置,如错误处理方式、内存管理等。这通常涉及`av_register_all()`和`avformat_network_init()`函数。 2. **打开输入文件**:使用`avformat_open_input()`函数打开多媒体文件,然后通过`avformat_find_stream_info()`获取文件的流信息。 3. **解析流**:利用`avformat_find_stream_info()`解析流信息,确定文件中的音频和视频流,以及它们对应的编码器。 4. **解码**:创建解码上下文(`AVCodecContext`),通过`avcodec_find_decoder()`找到合适的解码器,然后调用`avcodec_open2()`打开解码器。接着,使用`avcodec_decode_video2()`或`avcodec_decode_audio4()`进行解码。 5. **处理解码后的数据**:解码出的原始数据是像素或PCM音频数据,可能需要进一步处理,如转成RGB图像或立体声音频。 6. **编码**:如果需要编码,过程与解码类似,但使用的是编码器。先找到合适的编码器,然后创建编码上下文,调用`avcodec_open2()`,接着使用`avcodec_encode_video2()`或`avcodec_encode_audio2()`进行编码。 7. **封装输出**:创建输出文件的多媒体容器格式上下文,`avformat_alloc_output_context2()`,添加流,写入流头部信息,然后使用`av_interleaved_write_frame()`或`av_write_trailer()`将编码后的数据写入文件。 8. **关闭与清理**:要记得释放所有资源,包括关闭输入输出文件,释放解码编码上下文等,使用`avformat_close_input()`, `avcodec_free_context()`, `avio_closep()`等函数。 这个例程可以帮助学习者理解如何在易语言环境中操作FFmpeg,进行音视频的读取、解码、编码和输出。通过实际操作和调试这些示例,开发者可以更深入地掌握FFmpeg的功能,并将其应用到自己的项目中。同时,对于易语言的初学者来说,也是一个很好的实践平台,能提升他们对C语言接口的调用能力以及多媒体处理技术的理解。
2024-09-22 14:08:13 36KB 易语言例程
1
用ffmpeg将多路流合成一路,合成后画面可以画中画或者并排显示。包括混音
2024-09-20 20:44:22 7KB ffmpeg
1
该文件是geoip2离校使用文件数据库,下载即可用,以mmdb结尾,大小City为60m,Country大小3m左右。可用于nginx配置限制地区,elk中logstash。文件为压缩包格式,解压得到两个文件。实测可用
2024-09-04 13:51:36 28.22MB geoip2 nginx elk
1
FFEngine.framework FFEngine 框架是基于 ffmpeg 的 iOS 高性能播放器 sdk。 ffengine 现在是免费的 请在以下位置获取源代码: : 注意 如果您的应用程序是免费的,您可以免费使用 FFEngine.framework,并使用 [[[ 和 ]]] 之间的注册密钥: [[[yQ2oiBQRbXoo35veDico9lNUP9V/jbmLAso2PSgcLxyg7LfjrCSv+VrRNBQ3t5RrPvxcVussCXARVKYpX]XARVKYpXcVusslPKVyLpX 如果您认为对您有用,请捐赠给我们,paypal: 。 源代码出售。 再次感谢!
2024-09-03 12:02:05 12.66MB
1
php源码 此源码是一款视频网站系统,你可以用这个来快速搭建自己的视频网站,安装简单、界面简洁、易于使用。用户可在网站上面注册登陆上传视频、发布评论与收藏视频,系统带护眼模式,有利于保护眼睛,与此同时提供了后台管理,管理员可以进行网站名称,logo等设置。网站采用响应式设计,因此不论你在什么设备浏览网站,都有非常好的体验。 安装说明: 第一步:安装网站 (需要宝塔+apache环境,最好PHP5.5) 1、导入数据库文件夹里面的数据库文件: 2、将PHP文件夹里面的文件全部上传网站根目录 3、修改config.php文件里面的数据库信息和域名 4、完成默认账号密码是 admin/admin 第二步:生成APP 1、安装Android Studio软件,Android Studio软件和安装视频教程下载地址https://yunpan.360.cn/surl_yQ7tcLrHiRy (提取码:6776) 2、将APP源码文件夹里面的文件夹复制到桌面,在按照视频教程生成APP
2024-08-26 16:09:09 153.44MB android ffmpeg
1
运行环境要求: php(5.4~7.3)+mysql5 安装步骤: 1,将程序文件上传至服务器空间上(注意二进制上传) 2,在浏览器执行 http://域名/install/ 进入安装 注:根目录下nginx.conf是nginx的伪静态规则 V6.4正式版部分功能改进说明: 1,手机端每个栏目列表可以单独上传幻灯片 2,后台部分页面UI优化 3,增加用户自助更换微信绑定登录的功能 4,后台直接上传公众号二维码和客服二维码 5,手机端详情页增加自定义模板(和PC端同步) 6,增加后台备忘录 7,充值赠送套餐、置顶扣费选项、有效期选项等等统统改进为在后台直接设置(不再需要去改文件) 8,不同栏目可以设置不同的有效期显示时间 9,分站后台不显示教程、工单、更新等内容 10,不同栏目可以设置不同的置顶时间项目和置顶收费标准 11,PC和手机端用户中心,置顶信息改进 12,手机端发信息,栏目选择界面的优化 13,违禁词替换改进 14,会员置顶信息界面优化(包括手机端) 15,被大家诟病已久的图文编辑器将换成百度编辑器,并增加内容自动保存的功能
2024-08-18 04:08:48 20.99MB 网络协议 nginx
1
QT多线程调用摄像头录屏是一个涉及到计算机视觉、多媒体处理和并发编程的复杂任务。在本项目中,我们主要会使用OpenCV库来获取摄像头的视频流,Qt5框架来构建用户界面并处理多线程,以及FFmpeg工具来进行视频压缩。下面将详细介绍这三个关键知识点。 1. **OpenCV**: OpenCV(开源计算机视觉库)是一个强大的图像和视频处理库,广泛用于计算机视觉相关的应用。在这个项目中,我们将使用OpenCV的`VideoCapture`类来打开和捕获摄像头的视频流。通过设置其参数,我们可以选择不同的摄像头设备,调整帧率、分辨率等。同时,OpenCV提供了`VideoWriter`类,用于将视频流写入文件,允许我们指定编码器、码率、分辨率等参数,实现录制功能。 2. **Qt5**: Qt是一个跨平台的应用程序开发框架,支持C++语言。在这里,Qt5主要用于创建用户界面,包括按钮、文本框等控件,让用户能够交互地选择摄像头、设定保存路径以及是否选择特定区域进行录制。Qt5的多线程模型,如`QThread`,可以帮助我们在主线程处理UI交互的同时,将视频录制的任务放在单独的线程中执行,避免阻塞用户界面。 3. **FFmpeg**: FFmpeg是一个全面的、免费的开源多媒体处理工具集合,它包含了各种编解码器和命令行工具。在项目中,FFmpeg的命令行工具被用来压缩录制的视频,以减小文件大小。通过在后台调用系统命令,我们可以传递合适的参数,如视频编码格式(如H.264)、质量、比特率等,以达到理想的压缩效果。 4. **多线程编程**: 在QT中,多线程是通过`QThread`类实现的。在本项目中,我们需要创建一个子线程来执行视频录制任务,防止这个长时间运行的任务影响主线程的响应速度。子线程中,我们会调用OpenCV的`VideoWriter`进行录制,并在完成后使用FFmpeg进行压缩。为了确保线程间通信的安全,可能需要使用信号和槽机制或者异步回调函数来更新UI状态。 5. **用户界面交互**: 用户界面设计是整个应用的关键部分。用户需要能够轻松地开启和停止录像,选择摄像头,指定保存路径,以及设定是否录制特定区域。这需要通过Qt的事件处理和信号槽机制来实现。例如,当用户点击“开始录制”按钮时,触发一个信号,启动子线程开始录像;当用户点击“停止录制”时,发送停止信号,子线程完成录制并关闭。 6. **视频区域选择**: 如果项目包含选择区域录制功能,可能需要使用OpenCV的图像处理函数来实现。用户可以通过拖动鼠标选择屏幕上的矩形区域,这部分可以利用鼠标事件和图像处理函数来实时绘制和捕捉选定的视频区域。 "QT多线程调用摄像头录屏"项目结合了OpenCV的视频处理能力,Qt5的UI设计和多线程管理,以及FFmpeg的视频压缩技术,提供了一个高效且用户友好的视频录制解决方案。通过熟练掌握这些技术,开发者可以构建出更加复杂和定制化的多媒体应用程序。
2024-08-13 10:54:41 12KB opencv ffmpeg
1