MP4视频编码器

用 HTML5 播放视频,最流行的视频格式非 MP4莫属, 所有最新浏览器都支持;

MP4 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件;

以前做过一个把其它编码格式的视频转成 MP4的程序,转换的质量可以进行控制,质量越差,视频就越小,所以可以把几G的视频可转成 几十M的MP4,方便放到网上用 HTML5 观看。

该程序只是简单包装了对开源编码器的调用过程; 具体用到下面的编码器和类库:

x264 => 视频编码器

faac  => 音频编码器

MP4Box => 把视频和音频混合为一体

AvisynthWrapper.dll => AVI 脚本的解释器

详细的作用和相关的参数,在网上一大堆,这里不再赘述;(真是佩服有些外囯人那种大公无私的贡献精神,如此复杂实用的程序都开源出来,供全人类使用,据说国内某某风暴,扣扣影音都用了很多开源的视频编码器,自己却又不开源,鄙视之)

程序已开源到GitHub:  https://github.com/Dhenskr/MP4Encoder.git

源码解决方案的目录:

编译时注意把 MP4EncoderTester 项目的目标平台改成 x86, 否则在调用 AvisynthWrapper.dll 类库的方法时会出现平台错误;

在运行程序的目录下(MP4EncoderTester项目的 bin/Debug/ 目录已包含有下面的几个文件,也可以上相关的官网下载)要包括下面框中的文件

测试时注意: MP4EncoderTester 项目 Program.cs 文件的 Main 方法, input 和 output变量改为自己系统下面相应的视频路径:

        static void Main(string[] args) {
            string input = @"C:\Users\Canie\Desktop\testVideo\orig\orig.wmv";
            string output = @"C:\Users\Canie\Desktop\testVideo\encoded\encoded.mp4";
            EncoderHelper encoderHelper = new EncoderHelper(input, output);
            encoderHelper.Encode();
        }

程序参考了强大的视频编码器:MeGUI

如果想学习视频编码建议直接看 MeGUI的源码,而我的这个程序只是为了放在后台对指定文件夹的视频进行自动定时转换,所以没做界面,功能也比较单一,单纯编码成 MP4格式;

源码缺少详细的文档说明,有心情再慢慢完善;

时间: 2024-10-12 14:40:02

MP4视频编码器的相关文章

R 语言爬虫 之 cnblog博文爬取

Cnbolg Crawl a). 加载用到的R包 ##library packages needed in this case library(proto) library(gsubfn) ## Warning in doTryCatch(return(expr), name, parentenv, handler): 无法载入共享目标对象‘/Library/Frameworks/R.framework/Resources/modules//R_X11.so’:: ## dlopen(/Libr

CentOS6下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)

1.先添加几个RPM下载源 1.1)安装RPMforge的CentOS6源      [[email protected] ~]# wget -c http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm      [[email protected] ~]# rpm –import http://apt.sw.be/RPM-GPG-KEY.dag.txt      [[email 

视频格式非 MP4莫属

用 HTML5 播放视频,最流行的视频格式非 MP4莫属, 所有最新浏览器都支持; MP4 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件: 以前做过一个把其它编码格式的视频转成 MP4的程序,转换的质量可以进行控制,质量越差,视频就越小,所以可以把几G的视频可转成 几十M的MP4,方便放到网上用 HTML5 观看. 该程序只是简单包装了对开源编码器的调用过程; 具体用到下面的编码器和类库: x264 => 视频编码器 faac  => 音频编码器 MP4Box =>

FFMPEG+SDL2.0流媒体开发3---简易MP4视频播放器,提取MP4的H264视频序列解码并且显示

简介 之前写了一遍提取MP4中的音视频并且解码,这一篇引入SDL2.0来显示解码后的视频序列 实现一个简易的 视频播放器. 我这里用的FFMPEG和SDL2.0都是最新版的 可能网上的资料不是很多,API接口也变了很多,不过大体的思路还是一样的. 分析几个FFMPEG函数 在这之前我们分析几个代码中可能引起疑问的FFMPEG几个函数的源代码,我已经尽我的能力添加了注释,因为实在没有文档可能有的地方也不是很详尽  不过大体还是能看懂的 av_image_alloc (分配图片缓冲区) 我们在FFM

mp4网页播放代码,有声音无图像的解决办法~

mp4网页播放代码,有声音无图像的解决办法~ 关于网页播放mp4格式的视频,找了一些插件,这里推荐一下video.js 官方网址:http://www.videojs.com/ github :https://github.com/videojs/video.js/ demo:http://www.videojs.com/downloads/video-js-4.12.5.zip 使用方法: ①引入文件:指派flash播放的swf文件 <link href="//example.com/p

怎样获取优酷站内视频的MP4格式地址,嵌入到手机页面播放

最近的有关项目需要使用video标签播放视频,并且视频的路径src是优酷里面的视频,所以需要得到优酷里面的mp4路径才能播放. 但是在网上查了下资料,看到优酷的播放格式是一个m3u8文件,如图所示: 请问在移动端页面中播放优酷里面的视频,怎样实现?

800Li 流媒体和传统http播放MP4和FLV对比

随着Web 应用发展的普及,在浏览器上播放媒体(视频.音频)的需求变得越来越普遍:很多的企业在尝试在网站加入多媒体内容,最常见的俩种方式: 1. 普通的 http 文件点播 ,直接通过网站前台 file upload 的方式上传文件MP4或者FLV,保存路径,客户端通过开源的flash 播放器 或者html5标签去播放服务器返回这个路径的视频文件,可能是mp4 或者FLV. 2. 加入流媒体服务器,通过流媒体来解决视频上传和视频播放的问题 web网站只解决 网页显示和网站逻辑.   下面将主要讲

html5播放mp4视频代码

1.nginx支持flv和mp4格式播放 默认yum安装nginx centos7安装nginx时候应该是默认安装nginx_mod_h264_streaming模块的 # nginx -V查看是否安装nginx_mod_h264_streaming模块 nginx在新版本中已经支持了--with-http_mp4_module --with-http_flv_module这2个模块即可 # vi /etc/nginx/nginx.conf server { listen       80 de

centos 6.4 Apache 配置 flv mp4.h264 流媒体拖动

http://blog.csdn.net/xst686/article/details/9763995 加入流媒体扩展后要重启 httpd flv 流媒体 <textarea style="line-height: 15px ! important; font-size: 12px ! important; -moz-tab-size: 4; width: 548px; height: 51px;" class="crayon-plain print-no"