V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
niuer
V2EX  ›  程序员

图片音视频应用开发的效率工具与服务大礼包

  •  
  •   niuer · 2015-02-27 17:26:21 +08:00 · 2846 次点击
    这是一个创建于 3557 天前的主题,其中的信息可能已经有所发展或是发生改变。
    信息的传递是通过多个渠道的,在各种宽带技术高度发达的今天,人们接受的信息是全方位的,图片、音频、视频从各个角度来刺激人们的感官。在国外,主流社交平台已社交视频化,例如国外的FaceBook、Youtube、Instragam、Pinterst 、Tumblr、 Google+,国内的互联网好应用美拍、陌陌、英语流利说、唱吧等,而近日,FaceBook宣布收购语音识别技术能力较强的Wit.ai,而日本电信电话公司近日也开发出一种"定位收声"的音频技术,可见,互联网正在走入图像、音视频时代。因此,毫无疑问,基于图片音视频的互动方式,会在未来成为应用标配。

    但同时,这个时代又是一个效率时代,如何善用第三方工具与服务,使得开发富媒体应用的效率更高,也是每个创业者要考虑的问题。作者也对富媒体开发工具和服务做了些调研,在这里推荐给大家,同时欢迎补充。

    一、 图片处理开源软件推荐 

    1) ImageMagick & GraphicMagick

    这是两款目前我们看到的比较常用的图片处理免费开源软件,均支持读取、转换、写入多种格式的图片;同时也都支持多数操作系统,可处理图片尺寸、旋转、加亮、颜色调整、增加特效等。

    两者都均满足图处处理的基本功能,虽然ImageMagick有被大部分的开发者使用,但小编认为GraphicMagick在转码速度、内存消耗及cpu消耗方面表现更出色,更适用于互联网应用开发。
    推荐理由:图片的基础开必不可少的工具,经小编对比,选谁,你懂得!

    2) 图片特殊处理工具

    EasyImage & Nginx Image Module & Gifsicle

    EasyImage:图片所有基础操均可满足,属第三方Jar包,还可以结合很多总操作,创造出很酷的效果,操作简单。

    Nginx Image Module :主要功能是对请求的图片进行缩略/水印处理,支持文字水印和图片水印;支持自定义字体、文字大小、水印透明度、水印位置。判断原图是否是否大于指定尺寸才处理等。

    Gifsicle:处理GIF图像文件的功能强大的命令行程序。支持透明度和颜色图处理,简单图像变形(剪切、翻转),可以创建、拆解和编辑GIF动画。它也可以按空间优化GIF动画。同时包括的还有GIF动画浏览器,以及一个检查两个GIF看起来是否相同的程序。

    推荐理由: 图片处理除了基础的操作外,总会有一些特殊的需求,想要更奇幻的效果,比如多张图片融合,那你可以选择EasyImage,如果需要在缩略和水印上面下功夫,那么可以选择Nginx Image Module,而在遇到各种GIF疑难杂症时,小编则推荐使用Gifsicle。

    小结:不同客户端对于图片的大小、格式要求不一致,所以在服务端进行
    图片资源数据处理请求时的需求则不一样,以上工具可在不同图片处理要求时进行目的性选取。

    二、音视频处理工具推荐 

    1) FFmpeg
    FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,它包括了目前领先的音/视频编码库libavcodec。FFmpeg是在Linux下开发出来的,但它可以在包括Windows在内的大多数操作系统中编译。这个项目由Fabrice Bellard发起,现由Michael Niedermayer主持。可以轻易地实现多种视频格式之间的相互转换,例如可以将摄录下的视频avi等转成现在视频网站所采用的flv格式。

    但是,FFmpeg是相当强大的多媒体编解码框架,在深入分析其源代码之前必须要有基本的多媒体基础知识,否则其源代码会非常晦涩难懂。

    推荐理由: 具有非常实用的音/视频编码库,墙裂推荐,小编猜你也在用:P

    2) MediaCoder
    免费的通用音频/视频批量转码工具,它将众多来自开源社区的优秀音频视频编解码器和工具整合为一个通用的解决方案,可以将音频、视频文件在各种格式之间进行转换。MediaCoder具备一个可扩展的架构和丰富的功能,可满足各种场合下的转码需求。

    因转码支持非常丰富,所以在转码过程中进行设置时需要看仔细喽!因为配置起来操作有些复杂。
    推荐理由: 各种转码难题不在话下,放马过来!

    3) Gold Wave Editor
    一款功能丰富的经典音频处理软件,集声音编辑、播放、录制和转换的音频工具,体积小巧,可打开的音频文件包括 WAV、OGG、VOC、IFF、AIF、AFC、AU、SND、MP3、 MAT、DWD、SMP、VOX、SDS、AVI、MOV、APE 等音频文件格式。你也可以从CD或VCD或DVD或其它视频文件中提取声音。内含丰富的音频处理特效,从一般特效如多普勒、回声、混响、降噪到高级的公式计算(利用公式在理论上可以产生任何你想要的声音),效果多多。

    推荐理由: 声音提取和基本处理,可以靠它制作变声软件哦。

    4) Transcriber
    音频的识别修正工具,在语言数据联盟(Linguistic data consortium, LDC)资助下、在Linux系统上用Tcl/Tk脚本语言和扩展的C语言开发的用于语音处理的开源软件。该开源软件用于对音频数据分割和标注,以及对字幕的修改。通过对该软件的设置和修改,可以使其适合汉语的字幕修改。

    推荐理由: 音频的修正工具,普通话不标准可不可以修正,你要试了才知道!

    5) MKVToolnix
    又叫Matroska toolkit,是一套功能强大的mkv(Matroska)格式制作和处理的工具,支持将多种视频、音频、字幕等格式封装成mkv格式。

    有的时侯可能会有一些小bug,比如不显示 mkvmerge 输出最后一行的问题,但是最新版本已进行了修正。

    推荐理由:  mkv格式生产神器。

    6) MeGUI

    开源的基于MPEG-4视频转换应用程序,主要是作为DVDRip工具,同时也能胜任很多转码任务,它实际上是许多免费工具的GUI前端,也包含一些用于增强转码处理能力的模块,MeGUI 是一个免费软件,起源于doom9。

    这款应用使用起来较为复杂,对新手并不友好,并且都是windows平台限定。
    推荐理由:  想获得高质量的画质和音质推荐使用。

    7) Live555
    为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持,实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。

    推荐理由: 实现播放器流媒体播放功能时推荐使用,如VLC(VideoLan)、MPlayer。

    小结:音视频带宽、码率和不同的设备(比如苹果和安卓的各种设备)对于音视频处理时的需求不一样,音视频的处理还涉及编解码、转码、加密,对于处理的音视频是否需要特定的格式,什么样的画质和音质才可以满足开发过程中的需求,需要综合而定,不同的研发需求可选取对应于自己目标的工具。

    三、 音视频处理云服务

    近几年,富媒体技术的发展正在逐步走向成熟,国内除了一些出色的音视频处理云服务以外,也存在另一些音视频垂直功能性sdk,小编在此将国内国外的优秀服务呈现给大家。

    国内云服务:

    1) 七牛多媒体在线处理平台
    具有丰富的图片处理服务,包括缩略图、图文混排水印、自定义裁剪、旋转、图片格式转换、原图保护、防盗链等;同时也提供在线音视频/流媒体处理服务,具有优质的音视频分发网络,支持mp3、aac、m4a、mp4、avi、flv等,支持视频帧提取,可以取视频任意时间点的截图,也支持流媒体传输协议(HLS)。

    推荐理由: 富媒体处理功能齐全,不仅具有音视频处理服务,在图片处理服务上也甚是丰富,开发过程中满足一站式媒体数据处理,API丰富易调用,还提供CDN加速服务,属富媒体数据处理的全能选手,开发者可利用他打造出优质的互联网应用,第二个陌陌的奇迹你也可以,至于文档中遇到有疑问的地方,可以去Segmentfault提问或者提交工单。

    2) Sewise
    Sewise流媒体服务器软件系统分为直播、点揪、虚拟直播、剪切、转码、CMS六个服务器软件,用户可以灵活组合,搭建低码流、高清晰度、稳定流畅的流媒体系统,支持Flash与HTML5播放,适用于多种系统,支持云架构,对于实现云直播、云点播、云转码,支持分布式部署,尤其是大规模并发场景。
    暂不支持HTTP协议和Silverlight。

    推荐理由:兼容性好,可灵活进行组合,容易使用,二次开发也很容易,并且它支持云架构,与CDN进行了无缝对接。

    3) Camera360 SDK

    Camera360 SDK是全球顶尖的照片滤镜及图像处理开放平台。它基于Camera360第三代图像处理引擎,提供相机拍照、图像处理和API三种类型软件开发工具包,为开发者提供从拍照到图像处理、自定义特效的一站式服务,无须开发者手写代码,直接进行模块调用就能实现相应的功能。
    推荐理由: 接入方便,用户产品炫酷拍照、强大特效、编辑调整等推荐使用。

    4) 科大讯飞语音
    提供视频采集功能、视频格式转换、视频抓图、给视频加水印等,提供可视化控件,覆盖Android、iOS、Windows Phone等常见智能操作系统,并提供demo程序和源码,使得语音应用集成时间缩短到几分钟。

    推荐理由: 满足视频处理的基本功能,支持多操作系统,小米也在用哦。

    国外音视频云服务

    1)Brightcove
    视频解决方案,Brightcove视频云可以利用其视频编码技术对视频文件进行质量和大小的处理,然后利用第三方内容传输网络如Akamai 和 Limelight Networks将内容传输至终端客户,具有定制播放器,跨平台传输等特点。

    推荐理由:视频云服务容易操作和使用,还可提供专业定制服务,如视频内容迁移、播放器优化、网页视频优化等。

    2)WOWZA
    高性能、多线程的流媒体处理,专为多种终端设备提供流媒体播放服务,支持多种终端设备,以HTTP、RTST/RTP、RTMP传输协议的流播放,还支持利用机顶盒进行播放的IPTV。

    基于java语言,收费版,不适合屌丝们部署,配置较繁琐。

    推荐理由:支持较全的输入输出格式,支持DVR直播时移、流格式转换,做直播服务的童鞋可参考。

    小结:音视频处理平台类提供较综合的技术解决方案,多在功能、支持的传输协议及播放器等技术各层面都有所考虑。
    3 条回复    2015-02-28 15:26:56 +08:00
    icylord
        1
    icylord  
       2015-02-27 17:37:04 +08:00
    Live555 还可以。
    esyed
        2
    esyed  
       2015-02-27 19:17:25 +08:00
    ffmpeg可以处理音频,视频不同步的问题么?
    sivacohan
        3
    sivacohan  
       2015-02-28 15:26:56 +08:00
    @esyed 如果是固定差几秒是可以的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2686 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:06 · PVG 11:06 · LAX 19:06 · JFK 22:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.