不过还是推荐装 win server系统 配合 windows media server 和 windows media encoder使用
主流的流媒体服务器主要有:
helix server + Helix Producer
media server + Expression Encoder
Darwin Streaming Server
但可惜的是:
我实验过在win7中都用不了
音频编码标准和视频编码标准,每种编码标准都对应的编码算法,其目的是通过一定编码算法实现数据的压缩、减少数据的冗余。
视频编码指的是通过特定的压缩技术,将某个视频文件格式转换为另一种视频格式文件的方式
可变码率指的是输出码流的码率是可变的,因为视频信源本身的高峰信息量是变化的,从确保视频传输质量和充分利用信息的角度来说,可变码率视频编码才是最合理的。
相关资料免费分享,领取方式见下方腾讯文档
C++音视频开发学习资料 :点击领取 音视频开发(资料文档+视频教程+面试题)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)
是指视频成像产品所形成的图像大小或尺寸,常见的 1080P、4K 等又代表什么呢,P 本身的含义是逐行扫描,表示视频像素的总行数,
1080P 表示总共有 1080 行的像素数,而 K 表示视频像素的总列数,4K 表示有 4000 列的像素数,
通常来说,1080P 就是指 1080 x 1920 的分辨率,4 k 指 3840 x 2160 的分辨率。
视频编码:
Xvid(旧称为XviD)
是一个开放源代码的MPEG-4影像编解码器,是由一群原OpenDivX开发者在OpenDivX于2001年7月停止开发后自行开发的。
Xvid支持量化(Quantization)、范围控制的运动侦测(Motion Search)、码率曲线分配(Curve)、动态关键帧距(I-frame interval)、心理视觉亮度修正、演职员表选项、外部自定义控制、运动向量加速(Hinted ME)编码、画面优化解码等众多编码技术,对用户来说功能十分强大。
DivX是由MPEG-4衍生出的一种视频编码(压缩)标准,也即我们通常所说的DVDrip格式,
它采用了MPEG4的压缩算法,同时又综合了MPEG-4与MP3各方面的技术,说白了就是使用DivX压缩技术对DVD盘片的视频图像进行高质量压缩,
同时用MP3或AC3对音频进行压缩,然后再将视频与音频合成,并加上相应的外挂字幕文件而形成的视频格式。其画质直逼DVD,而体积只有DVD的数分之 一。
XviD与DivX几乎相同,是开源的DivX,不收费,而使用DivX要收费。
H264是一种高性能的视频编解码技术。
目前国际上制定视频编解码技术的组织有两个,一个是“国际电联(ITU-T)”,它制定的标准有H261、H263、H263+等,
另一个是“国际标准化组织(ISO)”它制定的标准有MPEG-1、MPEG-2、MPEG-4等。
而H264则是由两个组织联合组建的联合视频组(JVT)共同制定的新数字视频编码标准,
所以它既是ITU-T的H264,又是ISO/IEC的MPEG-4高级视频编码(Advanced Video Coding,AVC),而且它将成为MPEG-4标准的第10部分。
因此,不论是MPEG-4 AVC、MPEG-4 Part 10,还是ISO/IEC 14496-10,都是指H264。
H264最具价值的部分是更高的数据压缩比,在同等的图像质量,H264的数据压缩比能比DVD系统中使用的 MPEG-2高2 3倍,比MPEG-4高15 2倍。
举个例子,原始文件的大小如果为100GB,采用MPEG-2压缩标准压缩后变成4GB,压缩比为25 1,而采用H264压缩标准压缩后变为1GB,从100GB到1GB,H264的压缩比达到惊人的100 1。尤其值得一提的是,H264在具有高压缩比的同时还拥有高质量流畅的图像。
微软是在2003年9月递交VC-1编码格式的,目前已经得到了MovieBeam、Modeo等不少公司的采纳,同时也包含在HD DVD和蓝光中,包括华纳和环球等影业公司也有采用这种格式的意向。
VC-1基于微软Windows Media Video9(WMV9)格式,而WMV9格式现在已经成为VC-1标准的实际执行部分。WMV (Windows Media
Video)是微软公司的视频编解码器家族,包括WMV7、WMV8、WMV9、WPV10。这一族的编解码器可以应用在从拨号上网的窄带视频到高清晰度电视HDTV)的宽带视频。使用Windows Media Video用户还可以将视频文件刻录到CD、DVD或者其它一些设备上。它也
适用于用作媒体服务器。
WMV可以被看作是MPEG-4的一个增强版本。最新的由SMPTE(电视工程师协会)承认的WMV-9,也就是我们说的上面的VC-1。
同一个 AVCodecID 可能对应多个不同的编解码器 (AVCodec) MPEG-4 AVC、MPEG-4 Part 10,还是ISO/IEC 14496-10,都是指H264。
在编码方式相同相同的情况下,avi, mkv, mp4只是封装格式的区别(文件后缀格式),而封装格式是不影响画质的。
就相当于你的100块钱折一下,或者两下,或者两下后不管是放在你的口袋里,钱包里还是存钱罐里都是100块钱。
这里的100块钱就是就是视频数据,你把100块折一下,或者两下,或者两下就是编码格式,钱包,口袋,存钱罐就是封装格式。
网上大部分编译windows版ffmpeg的教程都是基于msys+mingw的,完全运行在windows上。由于msys2的性能实在是太糟糕了,编译速度太感人,因此决定研究Linux下使用mingw-w64交叉编译先是安装ubuntu版的mingw-w64
sudo apt install mingw-w64
然后在configure ffmpeg的时候,在正常的配置项之后加上。
--arch=x86 --target-os=mingw32 --cross-prefix=i686-w64-mingw32-
上面是32位库编译的配置,64位的如下
--arch=x86_64 --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32-
而且最好使用动态库,静态库还需要链接一大堆mingw的库实现,而且还可能链接失败。但这样编译出来的动态库,还需要依赖 libgcc_s_sjlj-1dll。如果要移除这个依赖,configure的时候还要加上 --extra-ldflags='-static-libgcc'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)