FFmpeg开发笔记(四十四)毕业设计可做的几个拉满颜值的音视频APP
一年一度的毕业季就要到了,毕业设计算是大学生毕业前的最后一个大作业,尤其是计算机相关专业的毕业设计,通常要通过编程开发一个软件,比如开发一个图书馆管理系统,开发一个电商APP等等。
一个好的毕业设计可以给作者加分,可以评优,还能获得编程开发的实战经验,所以很有必要认真去做毕业设计。那么就计算机相关专业来说,怎样算是一个好的毕业设计呢?
以手机APP为例,毕业设计做APP就要结合行业发展趋势。现在5G技术已经很普及了,很多商用APP都在音视频方面深根细作,有短视频APP比如抖音、快手等等,有聊天APP比如微信、畅联等等,有播音APP比如酷狗、喜马拉雅等等,有视频剪辑APP比如剪映等等。那么毕业设计做个音视频相关APP无疑是个热门方向,不但自带高科技,还能拉满颜值。
适合毕业设计的音视频相关APP有以下三类:
一、包含视频通话功能的即时通信APP
即时通信APP就是聊天APP,包括常见的微信和QQ,聊天形式包括私聊(一对一)和群聊(多对多),聊天内容包括文本和图片。适用于毕业设计的即时通信技术包含SocketIO和WebSocket,相关的APP编程技术参见《Android Studio开发实战:从零基础到App上线(第3版)》第13章的“13.4 即时通信”,该书第13章同时给出了仿微信聊天项目,即“13.5 实战项目:仿微信的私聊和群聊”。
当然,仅仅图文形式的即时通信不够高科技,最好加上视频通话功能才显得遥遥领先。那么视频通话用到了WebRTC技术,WebRTC的APP编程参见《Android Studio开发实战:从零基础到App上线(第3版)》的“第20章 在线直播”,具体的实战项目参见该书第20章的“20.3 实战项目:仿微信的视频通话”。
对于毕业设计来说,这款即时通信APP的亮点在于用到了WebRTC技术,并通过WebRTC实现了视频通话的功能。
二、包含在线直播功能的短视频分享APP
短视频分享APP的使用率很高,不管是录制短视频还是播放短视频,都用到了音视频相关技术,有关的音视频技术参见《Android Studio开发实战:从零基础到App上线(第3版)》的“第14章 多媒体”,具体的实战项目参见该书第14章的“14.4 实战项目:仿抖音的短视频分享”。
当然,仅仅录制短视频或者播放短视频,本身不算太难的技术,最好加上实时直播功能才显得遥遥领先。那么直播技术又是一个庞大的知识体系,后端的流媒体服务器说明参见之前的文章《Linux环境安装ZLMediaKit实现视频推流》和《Linux环境安装SRS实现视频直播推流》,流媒体传输协议的说明参见之前的文章《利用RTMP协议构建电脑与手机的直播Demo》和《利用SRT协议构建手机APP的直播Demo》,更详细的直播技术文章可参考《FFmpeg开发笔记全目录(FFmpeg开发实战详解,含直播系统的搭建过程)》。
对于毕业设计来说,这款短视频分享APP的亮点在于运用了直播技术,并通过RTMP/SRT协议实现了视频直播的的功能。
三、包含动画特效功能的视频剪辑APP
视频剪辑APP常用于配合短视频分享,比如剪映已成为自媒体从业者的必备工具,相关的剪映教程更是大卖。视频剪辑功能以FFmpeg为基础,详细的FFmpeg编程参见《FFmpeg开发实战:从零基础到短视频上线》一书,该书由浅入深讲解了音视频的理论基础与开发实战,其中第12章的“12.4 实战项目:仿剪映的视频剪辑”更是通过把FFmpeg集成到APP工程中实现了一款仿剪映的视频剪辑APP。
不要小看这个视频剪辑,因为各大视频剪辑软件有种种限制,并不总能如人意。比如国外的Adobe Premiere Pro,它仅支持把SRT字幕导入视频,不支持把ASS字幕导入视频,也就无法实现卡拉OK的动态歌词效果。再如国产的剪映,虽然提供了丰富多样的转场动画,但是部分高级转场动画需要付费使用(仅面向VIP用户)。所以如果能够自己打造一款不受功能限制的视频剪辑软件,无疑能让众人眼前一亮,那么掌握视频剪辑技术推荐学习《FFmpeg开发实战:从零基础到短视频上线》这本书。
对于毕业设计来说,这款视频剪辑APP的亮点在于能够给视频添加卡拉OK歌词字幕,并通过转场技术实现了定制转场动画的功能。
FFmpeg开发笔记(四十四)毕业设计可做的几个拉满颜值的音视频APP的更多相关文章
- FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台
FFmpeg和SDL开发专栏(点击传送门) 上一篇:<FFmpeg开发笔记(九):ffmpeg解码rtsp流并使用SDL同步播放>下一篇:敬请期待 前言 将ffmpeg移植到海思H ...
- 树莓派开发笔记(十四):入手研华ADVANTECH工控树莓派UNO-220套件(三):使用研发自带系统测试rtc、gpio、232和485套件接口
前言 上一篇说明了必须要使用研华自带的8G卡的系统,通过沟通拿到了相关的系统,购买的时候会带8GB的卡,请自行备份一份镜像.本篇对uno-220套件的相关研华配套的额外接口做测试,篇幅较长,重点讲 ...
- Java开发笔记(十四)几种运算符的优先级顺序
到目前为止,我们已经学习了Java语言的好几种运算符,包括算术运算符.赋值运算符.逻辑运算符.关系运算符等基础运算符,并且在书写赋值语句时都没添加圆括号,显然是默认了先完成算术.逻辑.关系等运算,最后 ...
- .Net开发笔记(十四) 基于“泵”的UDP通信(接上篇)
上一篇中说到了“泵”在编程中的作用以及一些具体用处,但没有实际demo,可能不好理解,这篇文章我分享一个UDP通信的demo,大概实现了类似“飞鸽传书”在局域网中文本消息和文件传输的功能.功能不全也不 ...
- Hi3516开发笔记(十):Qt从VPSS中获取通道图像数据存储为jpg文件
前言 上一篇已经将himpp套入qt的基础上进行开发.那么qt中拿到frame则是很关键的交互,这是qt与海思可能编解码交叉开发的关键步骤. 受限制 因为直接配置sample的vi比较麻烦 ...
- FFmpeg开发笔记(四):ffmpeg解码的基本流程详解
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(十四):请求消息去重
为了确保信息请求消息的到达率,微信服务器在没有及时收到响应消息(ResponseMessage)的情况下,会多次发送同一条请求消息(RequestMessage),包括MsgId等在内的所有文本内容都 ...
- Chrome浏览器扩展开发系列之十四
Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging 时间:2015-10-08 16:17:59 阅读:1361 评论:0 收藏:0 ...
- VSTO学习笔记(十四)Excel数据透视表与PowerPivot
原文:VSTO学习笔记(十四)Excel数据透视表与PowerPivot 近期公司内部在做一种通用查询报表,方便人力资源分析.统计数据.由于之前公司系统中有一个类似的查询使用Excel数据透视表完成的 ...
- Python学习笔记(十四)
Python学习笔记(十四): Json and Pickle模块 shelve模块 1. Json and Pickle模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不 ...
随机推荐
- vue计算属性computed
模板中放入太多的逻辑会让模板过重且难以维护,使用计算属性可以让模板变得简洁易于维护.计算属性是基于它们的响应式依赖进行缓存的,计算属性比较适合对多个变量或者对象进行处理后返回一个结果值,也就是数多个变 ...
- gRPC入门学习之旅(十)
gRPC入门学习之旅目录 gRPC入门学习之旅(一) gRPC入门学习之旅(二) gRPC入门学习之旅(三) gRPC入门学习之旅(四) gRPC入门学习之旅(七) gRPC入门学习之旅(九) 3. ...
- redis自动化安装
1.ruby脚本自动化安装 1.安装ruby开发环境 yum install rubygems -y 2.通过ruby包管理工具,安装操作redis的模块 gem sources --remove h ...
- 项目管理--PMBOK 读书笔记(10)【项目沟通管理】
1.沟通技术 1)交互式沟通:双方多方之间的多项信息沟通,确保全体参与者对特定话题达成共识,回馈. 2)推式沟通:将信息发送给接收方,不确保受众理解. 3)拉式沟通:自主自行反问信息 2.沟通 ...
- css 隐藏移动端滚动条
<template> <div id="app"> <router-view /> </div> </template htm ...
- feildconfig
<template> <div style="float:left;width: 100%"> <el-row> <el-col :spa ...
- MATLAB神经网络工具箱使用介绍
本文介绍MATLAB软件中神经网络拟合(Neural Net Fitting)工具箱的具体使用方法. 在MATLAB人工神经网络ANN代码这篇文章中,我们介绍了MATLAB软件中神经网络(AN ...
- EthernetIP IO从站设备数据 转opc ua项目案例
1 案例说明 设置网关采集EthernetIP IO设备数据 把采集的数据转成opc ua协议转发给其他系统. 2 VFBOX网关工作原理 VFBOX网关是协议转换网关,是把一种协议转换成另外一种协议 ...
- 使用Github Action来辅助项目管理
Github action 是一个Github官方提供的非常流行且速度集成 持续集成和持续交付(CI/CD)的工具.它允许你在GitHub仓库中自动化.定制和执行你的软件开发工作流.你可以发现.创建和 ...
- 为给git设置代理
为给git设置代理 通过软件形式为git设置代理 命令(端口改为自己的端口): git config --global https.proxy http://127.0.0.1:1083 git co ...