​一年一度的毕业季就要到了,毕业设计算是大学生毕业前的最后一个大作业,尤其是计算机相关专业的毕业设计,通常要通过编程开发一个软件,比如开发一个图书馆管理系统,开发一个电商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的更多相关文章

  1. FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台

    FFmpeg和SDL开发专栏(点击传送门) 上一篇:<FFmpeg开发笔记(九):ffmpeg解码rtsp流并使用SDL同步播放>下一篇:敬请期待   前言   将ffmpeg移植到海思H ...

  2. 树莓派开发笔记(十四):入手研华ADVANTECH工控树莓派UNO-220套件(三):使用研发自带系统测试rtc、gpio、232和485套件接口

    前言   上一篇说明了必须要使用研华自带的8G卡的系统,通过沟通拿到了相关的系统,购买的时候会带8GB的卡,请自行备份一份镜像.本篇对uno-220套件的相关研华配套的额外接口做测试,篇幅较长,重点讲 ...

  3. Java开发笔记(十四)几种运算符的优先级顺序

    到目前为止,我们已经学习了Java语言的好几种运算符,包括算术运算符.赋值运算符.逻辑运算符.关系运算符等基础运算符,并且在书写赋值语句时都没添加圆括号,显然是默认了先完成算术.逻辑.关系等运算,最后 ...

  4. .Net开发笔记(十四) 基于“泵”的UDP通信(接上篇)

    上一篇中说到了“泵”在编程中的作用以及一些具体用处,但没有实际demo,可能不好理解,这篇文章我分享一个UDP通信的demo,大概实现了类似“飞鸽传书”在局域网中文本消息和文件传输的功能.功能不全也不 ...

  5. Hi3516开发笔记(十):Qt从VPSS中获取通道图像数据存储为jpg文件

    前言   上一篇已经将himpp套入qt的基础上进行开发.那么qt中拿到frame则是很关键的交互,这是qt与海思可能编解码交叉开发的关键步骤.   受限制   因为直接配置sample的vi比较麻烦 ...

  6. FFmpeg开发笔记(四):ffmpeg解码的基本流程详解

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  7. Senparc.Weixin.MP SDK 微信公众平台开发教程(十四):请求消息去重

    为了确保信息请求消息的到达率,微信服务器在没有及时收到响应消息(ResponseMessage)的情况下,会多次发送同一条请求消息(RequestMessage),包括MsgId等在内的所有文本内容都 ...

  8. Chrome浏览器扩展开发系列之十四

    Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging 时间:2015-10-08 16:17:59      阅读:1361      评论:0      收藏:0    ...

  9. VSTO学习笔记(十四)Excel数据透视表与PowerPivot

    原文:VSTO学习笔记(十四)Excel数据透视表与PowerPivot 近期公司内部在做一种通用查询报表,方便人力资源分析.统计数据.由于之前公司系统中有一个类似的查询使用Excel数据透视表完成的 ...

  10. Python学习笔记(十四)

    Python学习笔记(十四): Json and Pickle模块 shelve模块 1. Json and Pickle模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不 ...

随机推荐

  1. work02

    第一题: 看程序说答案 int a = 10; int b = 3; int c = a + b;//13 int d = a - b;//7 int e = a * b; //30 int f = ...

  2. Javascript高级程序设计第四章 | ch4 | 阅读笔记

    变量.作用域与内存 原始值与引用值 什么是字面量形式? let obj = { key1: val1, key2: val2, foo () { } } 这就是字面量形式,手动声明一个对象的属性和方法 ...

  3. Latex 公式 如何转为Word 公式,免费线上网站

    在实际中,我们常常需要讲将atex公式在word中书写.不采用手敲word公式,如何直接从Latex公式转word公式: 非常好的网站:https://www.latexlive.com/ 可以直接复 ...

  4. Xilinx-HDF的文件内容

    Xilinx-HDF文件 原文:分享:HDF文件的更多用途 Xilnx Vivado能导出HDF文件,给Xilnx SDK创建软件工程.HDF文件的还可以有更多用途. HDF文件是一个zip文件,可以 ...

  5. 【论文阅读】RAL2020: UFOMap An Efficient Probabilistic 3D Mapping Framework That Embraces the Unknown

    Last edited time: March 31, 2023 1:30 PM Reference and prenotes Paper link:https://ieeexplore.ieee.o ...

  6. 3568F-三屏同显、异显方案演示

  7. 教您在79元ARM平台实现H.265视频解码

    什么是H.265视频编解码? (1)什么是H.265 H.265,也被称为HEVC(HighEfficiency Video Coding),作为H.264的继任者,提供了更好的视频压缩和更高的视频质 ...

  8. 静态 top tree 入门

    理论 我们需要一个数据结构维护树上的问题,仿照序列上的问题,我们需要一个方法快速的刻画出信息. 比如说线段树就通过分治的方式来通过将一个区间划分成 \(\log n\) 个区间并刻画出这 \(\log ...

  9. K210开发板学习笔记-点亮LED灯

    1. 介绍 和 51 单片机非常像,实验的2个LED灯都是一头接了 +3.3v 电源,控制 LED灯亮的话需要 K210芯片 对应的管脚提供一个低电平. 管脚: 低电平-LED亮 高电平-LED灭 G ...

  10. 【Playwright+Python】系列教程(五)元素定位

    一.常见元素定位 定位器是 Playwright 自动等待和重试能力的核心部分.简而言之,定位器代表了一种随时在页面上查找元素的方法,以下是常用的内置定位器. 1.按角色定位 按显式和隐式可访问性属性 ...