首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

音视频面试题集锦 2022.10

这次的面试题是来自星球里一位音视频方向的应届毕业生群友在一次面试中被问到的问题: 1)RTMP 和 RTSP 有什么区别?使用 RTSP 是基于 UDP 传输的话,我们怎样进行乱序重排?...RTMP 和 RTSP 的区别: RTMP 使用 TCP 作为传输层协议,能保证不丢包和接收顺序,传输质量高。 RTSP 使用 RTP 格式协议和 RTCP 控制协议,命令与数据分离。...如果重传次数过多,包无法重建,或者丢的包过多,此时可以丢帧直接跳过丢失的部分。 3)对硬件解码有了解吗?...直播流编码的 GOP 的长度,CDN 在客户端拉流吐几秒的数据、按照 GOP 分隔如何丢数据,这些策略都会影响延时。...播放端可以通过对当前已下载的 buffer 进行倍速播放和跳帧来降低缓存从而达到降低延迟。注意如果倍速过大,声音是会明显变调的,需要通过算法来调整。

1.3K40

Windows平台快速集成RTSPRTMP直播播放能力

NT_SP_SetVideoFrameCallBack接口的不同在于,吐出来的视频数据, 可以指定宽高; ⑤ NT_SP_SetRenderVideoFrameTimestampCallBack:设置绘制视频...,视频时间戳回调; ⑥ NT_SP_SetAudioPCMFrameCallBack:设置音频PCM回调, 吐PCM数据出来,目前每大小是10ms; ⑦ NT_SP_SetUserDataCallBack...,这个和静音接口是有区别的,这个接口的主要目的是为了用户设置了外部PCM回调接口后,又不想让SDK播放出声音使用。...timeout单位为秒,必须大于0; NT_SP_SetRtspAutoSwitchTcpUdp:对于RTSP来说,有些可能支持rtp over udp方式,有些可能支持使用rtp over tcp方式..., 默认不上报下载速度 * is_report: 上报开关, 1: 表上报. 0: 表示不上报.

2K00

RTSP?不存在的 -> 前端实时流探索记

HLS HLS(HTTP Live Streaming)是苹果公司提出的基于 HTTP 协议的的流媒体网络传输协议,它的工作原理是把整个流分成一个个小的基于 HTTP 的文件来下载,每次只下载一些。...P :向前参考,在压缩,只参考前面已经处理的,表示的是当前画面与前一(前一可能是 I 也可能是 P )的差别。采用间压缩技术。...B :双向参考,在压缩,它即参考前面的,又参考它后面的。B 记录的是本与前后的差别。采用间压缩技术。 带有 I 、B 和 P 的典型视频序列。...假设 GOP(就是视频流中两个I的时间距离) 是 10 秒,也就是每隔 10 秒才有关键,如果用户在第 5 秒开始播放,就无法拿到当前的关键了。...开启 gop_cache 可以让客户端开始播放,立即收到一个关键,显示出画面,当然,由于增加了对上一个的缓存,所以延时自然就变大了。

3.1K50

流视频协议

.jpeg 20130925233633687.jpg Real-Time Stream Protocol (RTSP) 可以在任一间为用户提供最佳质量视频,不支持adaptive bitrate 码率自适应...多媒体播放控制协议,用来使用户在播放从因特网下载的实时数据能够进行控制,又称为“因特网录像机遥控协议”。...实现方法是服务器端提供多码率视频流,并且在列表文件中注明,播放器根据播放进度和下载速度自动调整。使用起来也非常简单。...尽管未被广泛使用,但该协议有一些很大的优势。 支持码率自适应,为观众提供他们当前互联网连接速度可以支持的最佳视频质量。网络速度波动 DASH 可以保持不间断播放。...当设置解编码器将视频发送到托管平台,视频将使用 RTMP 协议发送到 CDN,随后使用另一种协议(通常是HLS)传递给播放器。

2.1K00

【技术分享】如何实现功能完备性能优异的RTMP、RTSP播放器?

我想大多自己拿开源改的播放器,都已经没法正常使用了;4....RTSP TCP/UDP模式设定、自动切换:TCP、UDP模式设定这个好理解,好多设备在特定网络环境下,可能仅支持单模式,甚至有些服务器转出来的RTSP流,服务端就做了限定,如果一个通用的RTSP播放器...实时下载速度反馈:为什么需要音视频流实时下载回调?其实就是为了确保实时下载速度反馈,以此来监听网络状态,当然,如果不需要,我们也快设置关闭,也可以设置回调时间间隔;14....关键/全播放实时切换:移动端,一般对只播放关键真正场景,需求不大,但是window端,好多场景下,因为需要播放非常多路,但是又不想占用太多的系统资源,如果全播放,路数过多,全部解码、绘制,系统资源占用会加大...,如果能灵活的处理,可以随时只播放关键,全播放切换,对系统性能要求大幅降低,想全播放的时候,随时切换全绘制。

1.6K30

分析RTP码流卡顿问题的工具

由于我实际工作中使用的都是rtp over rtsp(也就是TCP传输方式),下面的讨论仅针对rtp over rtsp进行,该工具也是针对这种场景开发的。...(数据量较大,很常见的一种现象) 预览过程中抓的包怎么处理?这种报文不仅没有rtsp交互,更没有TCP三次握手过程,也就是说如何跟踪这条会话。...二、使用方法 进入rtp_parser/bin目录 执行./rtp_parser rtsp.pcap 其中rtsp.pcap为抓包文件名。.../configure, 如果依赖库不存在,请根据提示下载安装对应的依赖组件 b. 执行make,生成libpcap.a c. 将libpcap.a拷到rtp_parser/lib目录。.../rtp_parser rtsp.pcap(rtsp.pcap为抓包文件)即可生成解析文件 目前rtp_parser的实现比较简单,可根据需要自行修改,然后执行上面第3步的编译即可。

4.3K40

一小掌握:使用ScrapySharp和C#打造新闻下载

本文将介绍如何使用ScrapySharp和C#语言,打造一个简单的新闻下载器,可以从指定的新闻网站上抓取新闻标题、摘要、正文、作者、发布时间等信息,并保存到本地文件中。...本文的目的是让你在一小内掌握ScrapySharp和C#的基本用法,以及爬虫技术的基本原理和技巧。...新闻下载器的设计本文的新闻下载器的设计思路如下:首先,定义一个News类,用来存储新闻的各种属性,比如标题、摘要、正文、作者、发布时间等。...新闻下载器的代码本文的新闻下载器的代码如下:using System;using System.Collections.Generic;using System.IO;using System.Linq...本文的目的是让你在一小内掌握ScrapySharp和C#的基本用法,以及爬虫技术的基本原理和技巧。

8600

(零)音视频技术基础知识

,而不会去详细讲解知识体系的细节或理论基础,例如我会讲解压缩数据原理,但是不会讲解I,P,B具体的编码。...RTCP(Real-time Transport Control Protocol)实时传输控制协议 RTCP控制协议需要与RTP数据协议一起配合使用,当应用程序启动一个RTP会话将同时占用两个端口...RTSP之所以特意使用与HTTP/1.1类似的语法和操作,在很大程度上是为了兼容现有的Web基础结构,正因如此,HTTP/1.1的扩展机制大都可以直接引入到RTSP中。...虽然RTSP服务器同样也使用标识符来区别每一流连接会话(Session),但RTSP连接并没有被绑定到传输层连接(如TCP等),也就是说在整个 RTSP连接期间,RTSP用户可打开或者关闭多个对RTSP...,并不需要视频有关键

1.4K53

直播间源码android音视频开发

连续的图像变化每秒超过24(frame)画面以上,根椐视觉暂留原理, 人眼无法辨别每付单独的静态画面,看上去是平滑连续的视觉效果。这样的连续画面叫视频。...当连续图像变化每秒低于24画面,人眼有不连续的感觉叫动画(cartoon) 流媒体 指采用流式传输的方式在Internet / Intranet播放的媒体格式.流媒体的数据流随时传送随 播放,只是在开始时有些延迟...,表示成水平点数垂直点数的形式, 在计算机显示领域我们也表示成“每英寸像素”(ppi).在一个固定的平面内,分辨率越高,意味着可使用的点数越多,图像越细致 码流 数据传输单位时间传送的数据位数,可以理解其为取样率...该协议目的在于控制多个数据发送连接,为选择发送通道,如UDP、多播UDP与TCP提供途径,并为选择基于RTP上发送机制提供方法 传输所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用TCP...MPEG-4:制定于1998年,MPEG-4是为了播放流式媒体的高质量视频而专门设计的,它可利用很窄的带宽,通过重建技术, 压缩和传输数据,以求使用最少的数据获得最佳的图像质量。

3.3K21

【技术分享】Windows平台低延迟RTMP、RTSP播放器接口设计探讨

可以随时只播放关键,全播放切换,对系统性能要求大幅降低,想全播放的时候,随时切换全绘制。...timeout);/*对于RTSP来说,有些可能支持rtp over udp方式,有些可能支持使用rtp over tcp方式....设置实时回调下载速度调用实时下载速度接口,通过设置下载速度时间间隔,和是否需要上报当前下载速度,实现APP层和底层SDK更友好的交互。.../*设置下载速度上报, 默认不上报下载速度is_report: 上报开关, 1: 表上报. 0: 表示不上报....拉流回调编码后的数据(配合转发模块使用)拉流回调编码后的数据,主要是为了配合转发模块使用,比如拉取rtsp流数据,直接转RTMP推送到RTMP服务。

1.9K10

5G时代来临,前端开发工程师必须了解的音视频入门基础知识

如果不经过压缩,传输这个视频的时间无疑将非常漫长,以电信100M宽带,大概需要下载43小。所以需要对原始视频裸码流进行压缩,采用的手段就是音视频的编码,而编码的目的就是压缩。...在编码器内部它在较低比特率使用线性预测编码在高比特率时候使用变换编码(在高低比特率交界处也使用两者结合的编码方式)。...并且用户需要等到把整个音视频文件全部下载完后才能使用播放器进行观看。...流式传输(流媒体协议) 流式传输,声音、影像或动画等基媒体由音视频服务器向用户计算机的连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时即可进行观看。...当声音等基媒体在客户机上播放,文件的剩余部分将在后台从服务器内继续下载。流式不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容量。

1.5K33

Windows平台RTMPRTSP直播推送模块设计和使用说明

平台RTSP、RTMP直播推送模块,设计和使用说明,供大家参考。...使用DXGI采集屏幕,采集停用Aero; 8. 采集窗口:可设定需要采集的窗口,窗口放大或缩小,推送端会自适应码率和分辨率; 9....接口调用时序(以C#为例) 如需下载demo源码工程,可以到 Github 下载 “Windows平台RTMP|RTSP推送SDK、内置RTSP服务SDK、录像SDK”,C++或者C#的都有。...对于一个摄像头来说,所有实例只能共享摄像头,那么只有一个实例可以改变摄像头分辨率,其他实例使用这个缩放后的图像; 在使用多实例,调用这个接口禁止掉实例的分辨率设置能力.只留一个实例能改变分辨,如果不设置...19 RTSP推送-设置推送RTSP Url NT_PB_SetPushRtspURL:注意,RTSP推送,确保服务器推送URL可用。

2.9K40

Windows平台RTSP|RTMP播放端SDK集成说明

NT_SP_SetVideoFrameCallBack接口的不同在于,吐出来的视频数据, 可以指定宽高; NT_SP_SetRenderVideoFrameTimestampCallBack:设置绘制视频..., 吐PCM数据出来,目前每大小是10ms,一般播放器无使用需求的话,无需设置; NT_SP_SetUserDataCallBack:设置用户数据回调,此接口需要和推送端SDK配套使用,用于返回推送端设定的实时用户数据...设置回调PCM NT_SP_SetIsOutputAudioDevice:设置是否播放出声音,这个和静音接口是有区别的,这个接口的主要目的是为了用户设置了外部PCM回调接口后,又不想让SDK播放出声音使用...RTSP超时时间, timeout单位为秒,必须大于0; NT_SP_SetRtspAutoSwitchTcpUdp:对于RTSP来说,有些可能支持rtp over udp方式,有些可能支持使用rtp...酌情使用; NT_SP_SetLowLatencyMode:设置低延时播放模式,默认是正常播放模式,mode: 1为低延时模式, 0为正常模式,低延迟模式下,可能会导致音视频不同步,或视频不均匀; NT_SP_SetReportDownloadSpeed

93500

如何设计一款跨平台低延迟的RTMPRTSP直播播放器

Windows平台支持实时设置是否只播放关键; [渲染角度]支持0°,90°,180°和270°四个视频画面渲染角度设置; [渲染镜像]支持水平反转、垂直反转模式设置; [实时下载速度更新]支持当前下载速度实时回调...实时下载速度反馈:大牛直播SDK提供音视频流实时下载回调,并可设置回调时间间隔,确保实时下载速度反馈,以此来监听网络状态,开源播放器不具备此能力; 14....NT_INT32 frame_format, NT_PVOID call_back_data, SP_SDKVideoFrameCallBack call_back); /* *设置绘制视频...handle, NT_HWND hwnd); /* * 设置是否播放出声音,这个和静音接口是有区别的 * 这个接口的主要目的是为了用户设置了外部PCM回调接口后,又不想让SDK播放出声音使用...NT_INT32 timeout); /* 对于RTSP来说,有些可能支持rtp over udp方式,有些可能支持使用rtp over tcp方式.

2.9K00

QT软件开发:基于libVLC内核设计视频播放器

一、环境介绍 操作系统: win10 64位 QT版本: QT5.12.6 编译器: MinGW 32 libvlc版本: 3.0.12 完整工程下载地址(下载即可编译运行): VLC_Core_VideoPlayer.zip-QT...文档类资源-CSDN下载 二、播放器运行效果与功能介绍 播放器的功能介绍: 1....单切换、前一、后一 10. 流媒体播放,输入流媒体链接 11. 进度条显示,支持鼠标点击任意跳转到点击位置 12. 播放时间实时更新显示 其他功能可自己增加........- VideoLAN 所有的VLC版本下载地址: http://ftp.heanet.ie/pub/videolan/vlc 3.0.12的SDK下载地址: Index of /pub/videolan...社区绑定 vlcj用于使用 Java 的桌面平台。 python-vlc用于使用 Python 的桌面平台。 vlc-rs使用 Rust 编程语言。 libvlc-go使用 Go 编程语言。

2.7K70

FFmpeg推流命令总结

-vn——不处理影像,于仅针对声音做处理使用。 -vcodec( -c:v )——设置影像影像编解码器,未设置使用与输入文件相同之编解码器。...-acodec ( -c:a ) ——设置声音编解码器,未设置与影像相同,使用与输入文件相同之编解码器。 -an——不处理声音,于仅针对影像做处理使用。...;当 packetization-mode 的值为 1 必须使用非交错(non-interleaved)封包模式....;当 packetization-mode 的值为 2 必须使用交错(interleaved)封包模式....20  设置帧率为20/s -g 20 GOP间隔,每隔20个为一个GOP,两个关键之间的帧数称为一个GOP,将关键间隔设置为1s,也就是每秒一个关键 -keyint_min 20   最小关键间隔

5.5K40

GB28181和RTSP使用场景区别有哪些?

​场景差异好多开发者纠结,到底使用GB28181还是RTSP,这里简单的谈下二者使用场景区别,GB28181和RTSP(Real-Time Streaming Protocol)是用于视频监控和流媒体传输的两种不同的协议...而RTSP主要用于流媒体传输控制,可广泛应用于直播、点播、视频会议等各种流媒体场景。虽然两者都涉及流媒体传输,但由于其应用领域和功能不同,使用场景也有所区别。...音频:AudioTrack/OpenSL ES; [实时静音]支持播放过程中,实时静音/取消静音; [实时音量调节]支持播放过程中实时调节音量; [实时快照]支持播放过程中截取当前播放画面; [只播关键]...Windows平台支持实时设置是否只播放关键; [渲染角度]支持0°,90°,180°和270°四个视频画面渲染角度设置; [渲染镜像]支持水平反转、垂直反转模式设置; [等比例缩放]支持图像等比例缩放绘制...(Android设置surface模式硬解模式不支持); [实时下载速度更新]支持当前下载速度实时回调(支持设置回调时间间隔); [解码前视频数据回调]支持H.264/H.265数据回调; [解码后视频数据回调

1.3K20
领券