项目有Rtsp实时视频播放功能 ,现在要实现边播放边保存的功能要求。我在音视频方面技术处理白痴水平,所以
只能简单地实现先把h264格式的视频流保存到SD卡,再把对应地h264文件转码成MP4格式文件,然后删除原H264格式文件。
实时播放实时转码成MP4还处理摸索阶段,因为我还不会用ffmpeg框架。
在网上找了很久,找到了常用的两种方案:
  1. 使用谷歌的开源项目mp4v2框架,如何时使用可以参考http://blog.csdn.net/chezi008/article/details/70172785。文章结尾给了相应DEMO的下载地址。官方源码地址:http://code.google.com/p/mp4v2/downloads/list
    在项目中使用了下,发现可以把H264格式 文件转成MP4格式 文件,但是只能转时长最多28秒的文件,而且转化时间长,效率不高。我也尝试修改其C代码,不成功,所以放弃了。
  2. 也是我现在项目中使用的第三方开源框架mp4parse,开源地址:https://github.com/sannies/mp4parser。
    对照github上的代码,使用非常方便:
    第一步:在gradle文件中添加引用:
compile 'com.googlecode.mp4parser:isoparser:1.1.21'

第二步:直接使用转码相关代码:

 FileOutputStream fos = null;try {//这里传入的file是指H264格式对应的文件H264TrackImpl h264Track = new H264TrackImpl(new FileDataSourceImpl(file));Movie m = new Movie();m.addTrack(h264Track);Container out = new DefaultMp4Builder().build(m);//这里传入的就是要保存的mp4文件目录fos = new FileOutputStream(FileUtil.getSaveFile(getPackageName(), descName + ".mp4"));FileChannel fc = fos.getChannel();out.writeContainer(fc);} catch (Exception e) {e.printStackTrace();} finally {try {if (null != fos)fos.close();} catch (IOException e) {e.printStackTrace();}}

主要代码就这些,在使用的时候 发现一个小问题,就是只能转码h264文件中对应帧数据第四位为67的文件,其它的目前都转失败了,相关问题正在处理中。

Android多媒体:H264格式文件转MP4格式文件相关推荐

  1. vep文件如何转换mp4_如何将DVD的vob视频格式转换成mp4格式

    首先简述一下,VOB是DVD Video OBject的缩写,vob文件用来保存所有MPEG-2格式的音频和视频数据,这些数据不仅包含影片本身,而且还有供菜单和按钮用的画面以及多种字幕的子画面流.如何 ...

  2. 如何快速无损地把flv格式文件转换为mp4格式(可在iPhone上播放)

    众所周知,mp4格式文件是现在非常主流且高质的视频格式.flv格式相对于mp4格式的视频来说,适用范围比较窄,现在很多播放器也都不支持播放flv格式的视频.解决办法也简单,用MP4/RM转换专家把fl ...

  3. 如何将qlv格式倚天屠龙记转换为MP4格式

    一提到金庸,那绝对是家喻户晓的名字,不仅是带给我们不少童年的欢乐和记忆,更是父辈们的偶像.他作品众多,比较熟知和经典大概有<书剑恩仇录>.<射雕英雄传>.<神雕侠侣> ...

  4. 如何把flv格式转成mp4格式?

    现在的网络视频发展的是越来越快,新的视频格式已越来越多,flv也是近几年由flash发展而来的视频格式.flv格式的视频体积虽小但加载速度还挺快,所以被逐渐的兴起认可.那flv格式的视频认可度越高,我 ...

  5. ogv格式怎么转换为MP4格式

    说的ogv格式,很多人可能不知道它是个什么格式,其实它是一种从网页上缓存下来的视频格式,是一种自由且开放的格式,可以纳入各式各样自由和开放原始码的编解码器,包含音效.视讯.文字(像字幕)的处理.那么, ...

  6. 怎么把独有的qlv格式转换成mp4格式

    在众多播放器中腾讯视频作为主流播放器之一以其良好的用户体验和众多的独家资源深受广大用户的喜爱,而腾讯视频所下载的视频格式是独家的qlv格式,这种格式的特点是只能用腾讯视频打开,而要用别的播放器打开的话 ...

  7. 爱奇艺独播视频qsv格式怎么转换为MP4格式

    QSV是由爱奇艺公司创造的视频文件格式,在iPhone.iPad以及iOS设备上都能使用,随着爱奇艺用户的增长,QSV也成为了比较常用的格式之一.能够播放这种格式还是比较受限的,没有爱奇艺播放器就不能 ...

  8. 手把手教你怎么把爱奇艺QSV格式转换成MP4格式

    <简介> QSV是一种影视视频的格式,也是最为特殊的视频格式之一,为何这么说呢,因为这种QSV格式是爱奇艺特有的视频格式.通过爱奇艺客户端下载的影视通常都会以QSV格式保存在电脑中,而这种 ...

  9. 怎么把avi格式转换成mp4格式?转换avi格式的方法

    AVI格式是视频格式中主流格式之一,很多地方都可以看到这种格式.Avi格式的特点是占用内存相对较大,画质较好.而与同为主流格式之一的mp4相比mp4格式占用空间相对较小,画质和avi格式相差无几,最重 ...

  10. 腾讯视频QLV格式转换成mp4格式,只需这样做!

    到百度首页百度首页登录 腾讯视频QLV格式转换成mp4格式,只需这样做! 淡定人生 百家号17-10-1603:44 腾讯视频单独弄了一个qlv格式,一定程度上也造成了我们使用时的不便利.这几天有个朋 ...

最新文章

  1. 巴菲特、李嘉诚、盖茨、小扎、孙正义…… 这是他们眼中的未来
  2. DBA_Oracle Database 11g 面向 DBA 和开发人员的重要特性
  3. 不显示调用super_让不懂编程的人爱上iPhone开发(2017秋iOS11+Swift4+Xcode9版)-第7篇
  4. Docker run 命令【转】
  5. python写接口函数_python接口自动化测试二十:函数写接口测试
  6. 标准SQL注入入侵语句
  7. 从 40% 跌至 4%,“糊”了的 Firefox 还能重回巅峰吗?
  8. Java是有法_Java基础语法
  9. c语言表达式10 6的结果,C语言表达式(++i)+(++i)+(++i)结果多少?
  10. 扩展 HashMap
  11. windows权限了解
  12. java的ui自动化测试框架_UI自动化测试框架
  13. Python模块的下载与导入
  14. Pytorch 情感分类进阶
  15. R语言---相关系数
  16. 单片机最小系统由几部分组成?TTL是什么?
  17. 传说中的美丽 真实的仙境——三亚游记
  18. 【英语】maintext2-Emotional Mastery译文
  19. 执念斩长河专升本复习第六周
  20. 我使用Feign上传文件踩的坑,MultipartFile文件死活传不过去

热门文章

  1. 文章编辑系统的设计与实现
  2. 第十三章 指导学习:人机猜拳
  3. cmd mysql 指令_MySQL简单指令(CMD)
  4. 生产者消费者的实现与思考
  5. PostgreSQL数据库插件Extension
  6. 防止未经授权的呼叫-检测和定位监狱中的手机
  7. python print影响速度_为什么打印到标准输出这么慢?可以加快速度吗?
  8. shell中通配符的使用
  9. 电梯司机是做什么的? (施工升降机)
  10. 秋招面试上岸经验分享