音视频转码合成

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
使用例子
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  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)
[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
敬告:本课程基于最新版FFmpeg4.3.1开发,仅供学习参考,不可以直接商用(想直接购买商用源代码的同学,请放弃!)。我将带领大家从以下几个方面来深入剖析ffmpeg4.3:“拿来主义”、“为我所用”。通过学习本课程,您将收获:三大多媒体框架(DirectShow、GStreamer、FFmpeg)简介与分析FFmpeg4.3的开发环境搭建(重要讲解windows下的源码编译及vs2015的环境)ffmpeg.c(4.3.1)源码剖析(分析开源大师们的设计理念和编码技巧)亲手封装私有函数:获取音视频流信息(类似于MediaInfo)、获取实时转码进度(改善用户体验)两套实现代码: MFC和Qt。-------------------------------------------------------------------音视频是一门很复杂的技术,涉及的概念、原理、理论非常多,很多初学者不学 基础理论,而是直接做项目,往往会看到c/c++的代码时一头雾水,不知道代码到底是什么意思,这是为什么呢? 因为没有学习音视频的基础理论,就比如学习英语,不学习基本单词,而是天天听英语新闻,总也听不懂。所以呢,一定要认真学习基础理论,然后再学习播放器、转码器、非编、流媒体直播、视频监控、等等。 梅老师从事音视频与流媒体行业18年;曾在永新视博、中科大洋、百度、美国Harris广播事业部等公司就职,经验丰富;曾亲手主导广电直播全套项目,精通h.264/h.265/aac,曾亲自参与百度app上的网页播放器等实战产品。目前全身心自主创业,主要聚焦音视频+流媒体行业,精通音视频加密、流媒体在线转码快编等热门产品。  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值