音视频转码后合成的一些例子

1、android上录音AAC/MP3格式,未成功
https://github.com/turkeyzhu/AACEncoder_Android
2、通过mp4parser将AAC、h264、mp4格式合成MP4
https://code.google.com/p/mp4parser/(mp4parser源码)
https://github.com/sannies/mp4parser(使用mp4parser合成、转码MP4例子,该代码添加了其他东西,需要添加很多依赖库(主要是aspectjrt.jar),可以删减。
该isoviewer-1.0-RC-35.jar包将mp4parser和aspectjrt.jar合并在一起,很好用。
isoviewer-1.0-RC-35.jar资源==http://download.csdn.net/detail/smile3670/8174503
aspectjrt.jar == http://download.csdn.net/detail/smile3670/8174509
使用例子

 1 public static void main(String[] args) throws FileNotFoundException, IOException {
 2
 3         /*Movie m = new Movie();
 4         MP3TrackImpl mp3Track = new MP3TrackImpl(new FileDataSourceImpl("D:/tracks/test__mp3.mp3"));
 5         m.addTrack(mp3Track);
 6         AACTrackImpl aacTrack = new AACTrackImpl(new FileDataSourceImpl("D:/tracks/aac-sample.aac"));
 7         m.addTrack(aacTrack);
 8         Container out = new DefaultMp4Builder().build(m);
 9         FileOutputStream fos = new FileOutputStream(new File(
10                 "D:/tracks/test__mp3.mp4"));
11         FileChannel fc = fos.getChannel();
12         out.writeContainer(fc);
13         fos.close();*/
14
15         // mp4音视频合成
16         try {
17             Movie countVideo = MovieCreator.build("D:/tracks/test__mp3.mp4");
18             Movie countAudioEnglish = MovieCreator
19                     .build("D:/tracks/test_ount_out.mp4");
20             Track audioTrackEnglish = countAudioEnglish.getTracks().get(0);
21             countVideo.addTrack(audioTrackEnglish);
22             Container out = new DefaultMp4Builder().build(countVideo);
23             FileOutputStream fos = new FileOutputStream(new File(
24                     "D:/tracks/test_out______.mp4"));
25             out.writeContainer(fos.getChannel());
26             fos.close();
27         } catch (IOException e) {
28             e.printStackTrace();
29         }
30     }  

3、通过FFMPEG PCM、WAV转mp4。看代码是通过ffmpeg命令转码,ffmpeg支持转码,应该都可以实现,可先用命令试试资源。
库资源==http://download.csdn.net/detail/smile3670/8174611(里边的ffmpeg支持windows和linux)

 1 File source = new File("D:/audio.wav");
 2         File target = new File("D:/result.mp4");
 3         AudioAttributes audio = new AudioAttributes();
 4         audio.setCodec(null);
 5         EncodingAttributes attrs = new EncodingAttributes();
 6         attrs.setFormat("mp4");
 7         attrs.setAudioAttributes(audio);
 8         Encoder encoder = new Encoder();
 9         try {
10             encoder.encode(source, target, attrs);
11         } catch (IllegalArgumentException e) {
12             e.printStackTrace();
13         } catch (InputFormatException e) {
14             e.printStackTrace();
15         } catch (EncoderException e) {
16             e.printStackTrace();
17         }  

android编译的ffmpeg==http://download.csdn.net/detail/smile3670/8174669
WAV转AAC命令==ffmpeg -i aec_out.wav -strict -2 -b:a 32k -y abc.aac(代码实现可以参考ffmpeg支持windows和linux库源码)
4、录音MP3格式
通过lame实现,没有库源码,有android源码
源码==http://download.csdn.net/detail/smile3670/8174821

原文地址:http://blog.csdn.net/smile3670/article/details/41279749

时间: 2024-08-25 13:29:05

音视频转码后合成的一些例子的相关文章

七牛音视频转码-分辨率,码率,帧率,清晰度的联系和区别

Qiniu 七牛问题解答 名词介绍 1,码率:"码率"就是失真度,码率越高越清晰,反之则画面粗糙而多马赛克."码率是指每秒传送的比特(bit)数.单位为 bps(Bit Per Second),比特率越高,传送数据速度越快.声音中的比特率是指将模拟声音信号转换成数字声音信号后,单位时间内的二进制数据量,是间接衡量音频质量的一个指标. 视频中的比特率(码率)原理与声音中的相同,都是指由模拟信号转换为数字信号后,单位时间内的二进制数据量. 2,分辨率:分辨率可以从显示分辨率与图像

vlc-android对于通过Live555接收到音视频数据包后的处理分析

通过ndk-gdb跟踪调试vlc-android来分析从连接到RTSP服务器并接收到音视频数据包后的处理过程. 首先,从前面的文章有分析过vlc-android的处理过程通过线程函数Run()(Src/input/input.c)来处理的,代码如下: [cpp] view plaincopy static void *Run( void *obj ) { input_thread_t *p_input = (input_thread_t *)obj; const int canc = vlc_s

使用 JAVE 对音视频转码

JAVE 官方的jar包带了ffmpeg的exe程序,所以在windows上可以直接使用,但是如果要在Linux上用就得先把ffmpeg的环境装好. 官方的jar包在这里下载:http://www.sauronsoftware.it/projects/jave/download.php 在这里列几个官方的demo: 1.From a generic AVI to a youtube-like FLV movie, with an embedded MP3 audio stream: File s

实战解析 | 同步音视频解决方案

目前,国内大部分云厂商大多都提供音视频异步处理解决方案,使用中,音视频异步处理任务需要排队并且处理时间过长.当音视频需要适用各平台时,就需要对它进行转多种码率.转多种格式.打水印.切片等.处理过程通常会消耗"N×音视频时长"(N 是处理次数)的时间,用户平均需要等待"N×音视频时长"的时间,十分影响用户体验. 秒级完成音视频转码处理 又拍云的服务器上运行着众多商业直播和UGC项目,为帮助用户实现秒级音视频处理,解决任务排队.处理时间长的问题,又拍云推出了同步音视频处

FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑

FFmpeg_Tutorial FFmpeg工具和sdk库的使用demo 一.使用FFmpeg命令行工具和批处理脚本进行简单的音视频文件编辑 1.基本介绍 对于每一个从事音视频技术开发的工程师,想必没有一个人对FFmpeg这个名称感到陌生.FFmpeg是一套非常知名的音视频处理的开源工具,它包含了开发完成的工具软件.封装好的函数库以及源代码供我们按需使用.FFmpeg提供了非常强大的功能,可以完成音视频的编码.解码.转码.视频采集.后处理(抓图.水印.封装/解封装.格式转换等),还有流媒体服务等

即时通讯——详解音视频同步技术

转自:http://tieba.baidu.com/p/2138076570 摘要:针对网络传输中由于延迟.抖动.网络传输条件变化等因素引起的音视频不同步的问题,设计并实现了一种适应不同网络条件的音视频同步方案.利用音视频编码技术AMR-WB和H.264具有在复杂网络环境中速率可选择的特性,结合RTP时间戳和RTCP反馈检测QOS,通过控制音视频编码方式,实现了动态网络环境下的音视频同步方案.重点介绍了可靠网络环境和动态网络环境下同步算法的设计过程,并通过实际测试验证了此方案的可行性.结果表明,

屏幕录像专家录制超清视频教程如何解决转码后不清晰问题

你是不是遇到过,录制的屏幕视频在本机播放非常清晰,可是一旦上传到视频分享网站,则非常的模糊,本课程将为大家解决这个问题.一.屏幕录像专家录制超清视频概述屏幕录像专家录制超清视频概述二.屏幕录像专家参数设置1.基本设置2.录制目标3.声音4.快捷键三.屏幕录像专家录制技巧1.注册机注册后格式转换后仍然有未注册字样的原因2.视频转码后解决不清晰问题的技巧3.录制视频过程中局部放大技巧4.录制视频过程中对屏幕标注技巧四.屏幕录制视频工具1.录制的视频格式转换工具2.录制的视频截取工具3.录制的视频合成

ffmpeg转码MPEG2-TS的音视频同步机制分析

http://blog.chinaunix.net/uid-26000296-id-3483782.html 一.FFmpeg忽略了adaptation_field()数据FFmpeg忽略了包含PCR值的adaptation_filed数据; 代码(libavformat/mpegts.c)分析如下: /* 解析TS包 */int handle_packet(MpegTSContext *ts, const uint8_t *packet){  ...   pid = AV_RB16(packe

Android 音视频深入 四 录视频MP4(附源码下载)

本篇项目地址,名字是<录音视频(有的播放器不能放,而且没有时长显示)>,求star https://github.com/979451341/Audio-and-video-learning-materials1.MediaMuser说明 MediaMuser:将封装编码后的视频流和音频流到mp4容器中,说白了能够将音视频整合成一个MP4文件,MediaMuxer最多仅支持一个视频track和一个音频track,所以如果有多个音频track可以先把它们混合成为一个音频track然后再使用Med