mpeg 4保存为3gp文件的问题

wyyhzcflying 2007-09-04 03:12:49
各位高手:
最近正在做个视频会议的项目,现在要求是:
通过324与对端(终端)建立会话,得到对方的能力级,之后打开逻辑通道,接收对方的视频和音频数据,视频是mp4v,音频amr,现在要求将mp4v和amr写入到一个3gp文件中,但mp4v的相关解码参数,也就是在esds box中的DecoderConfigDescr,我要怎么样才能得到这个结构中的信息,是建立会话时对方传过来还是需要我重新编码获取呢?请高人指点,本人分不多,但绝对会将所有的分贡献出来,欢迎高手指点!急急。。。。
...全文
204 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lwqhunter 2007-09-06
  • 打赏
  • 举报
回复
呵呵,好像ffmpeg中和我的那个代码很不一样的。
不过应该ffmpeg更加权威吧。目前正在学习中。。。^_^
sxcong 2007-09-05
  • 打赏
  • 举报
回复
不清楚这些函数,反正我是直接调用libavcodec里面的api,下面怎么实现的没看,你可以自己下载ffmpeg分析一下
lwqhunter 2007-09-05
  • 打赏
  • 举报
回复
_EmitBEBytesToRepackBuf(4, 0x65736473); //esds
_EmitBEBytesToRepackBuf(4, 0x00000000);
_EmitBEBytesToRepackBuf(4, 0x03808080);
_EmitBEBytesToRepackBuf(4, 0x4d00c904);
_EmitBEBytesToRepackBuf(4, 0x04808080);
_EmitBEBytesToRepackBuf(4, 0x30201100);
_EmitBEBytesToRepackBuf(4, 0x0d090001);
_EmitBEBytesToRepackBuf(4, 0x9b570001);
_EmitBEBytesToRepackBuf(4, 0x9b570580);
_EmitBEBytesToRepackBuf(2, 0x8080);
_EmitBEBytesToRepackBuf(1, 30 + gbVideoMP4ExtraByte);//==2
_EmitBEBytesToRepackBuf(1, 0x00);
_EmitBEBytesToRepackBuf(4, 0x0001b002);
_EmitBEBytesToRepackBuf(4, 0x000001b5);
_EmitBEBytesToRepackBuf(4, 0x89130000);
_EmitBEBytesToRepackBuf(4, 0x01000000);
_EmitBEBytesToRepackBuf(4, 0x012000C4);
_EmitBEBytesToRepackBuf(1, 0x88);
///////////////
if (timeInCrResol == 60000) {
_EmitBEBytesToRepackBuf(1, 0x80 | (timeInCrResol >> 9));
_EmitBEBytesToRepackBuf(1, ((timeInCrResol & 0x01FF) >> 1));
_EmitBEBytesToRepackBuf(1, 0x60 | ((timeInCrResol & 0x0001) << 7)
| (timeIncrement >> 11));
_EmitBEBytesToRepackBuf(1, ((timeIncrement & 0x07FF) >> 3));
_EmitBEBytesToRepackBuf(1, 0x10 | ((timeIncrement & 0x0007) << 5)
| (video_3gp.width >> 9));
_EmitBEBytesToRepackBuf(1, ((video_3gp.width & 0x01FF) >> 1));
_EmitBEBytesToRepackBuf(1, 0x40 | ((video_3gp.width & 0x0001) >> 7)
| (video_3gp.height >> 7));
_EmitBEBytesToRepackBuf(1, 0x01 | ((video_3gp.height & 0x007F) << 1));
_EmitBEBytesToRepackBuf(1, 0x44);
_EmitBEBytesToRepackBuf(1, 0x3F);
}
else if (timeInCrResol == 60) {
// 2005-04-26 : solve the mpegable player issue.
_EmitBEBytesToRepackBuf(1, 0x80 | (timeInCrResol >> 9));
_EmitBEBytesToRepackBuf(1, ((timeInCrResol & 0x01FF) >> 1));
_EmitBEBytesToRepackBuf(1, ((timeInCrResol & 0x0001) << 7) | 0x60
| (timeIncrement >> 1));
_EmitBEBytesToRepackBuf(1, ((timeIncrement & 0x1) << 7) | 0x40
| (video_3gp.width >> 7));
_EmitBEBytesToRepackBuf(1, ((video_3gp.width & 0x07F) << 1) | 0x01);
_EmitBEBytesToRepackBuf(1, ((video_3gp.height) >> 5));
_EmitBEBytesToRepackBuf(1, ((video_3gp.height & 0x001F) << 3) | 0x05);
_EmitBEBytesToRepackBuf(1, 0x10);
}
_EmitBEBytesToRepackBuf(3, 0x068080);
_EmitBEBytesToRepackBuf(4, 0x80100044);
_EmitBEBytesToRepackBuf(4, 0x000003e8);
_EmitBEBytesToRepackBuf(4, 0x00000000);
_EmitBEBytesToRepackBuf(4, 0x40000000);
_EmitBEBytesToRepackBuf(2, 0x0003);
_EmitBEBytesToRepackBuf(4, 0x00000018);

以上是一些代码。但是我不确定是否正确。同问。。。这个问题。(目前也在做muxer和demuxer)
要不这边的高手都无暇顾及这类小问题吧...
wyyhzcflying 2007-09-04
  • 打赏
  • 举报
回复
mpeg4已经流行好几年了,难道知道的人就这么少吗?
wyyhzcflying 2007-09-04
  • 打赏
  • 举报
回复
怎么没有人了呢?大家帮忙顶顶也行呀,兄弟我感激不尽!
wyyhzcflying 2007-09-04
  • 打赏
  • 举报
回复
现在我已经支持会H263和amr了,只是到支持MP4V和mp4a时,因为mpeg4的解码还需要DecoderConfigDescr描述信息,所以在这被卡住了,希望懂的兄弟们多多指点,分不够以后攒够了再散给大家!
wyyhzcflying 2007-09-04
  • 打赏
  • 举报
回复
to sxcong:
可否详细点?因为音视频数据是边接收边写入文件的,如何获取到DecoderConfigDescr这里面的信息呢,因为我还要填入文件中,多谢!
sxcong 2007-09-04
  • 打赏
  • 举报
回复
用ffmpeg所带的libavcodec.dll等几个dll,导入数据自动分析就行了。
再说了,mp4v和 amr保存成3gp也可以(最常用的是h263和amr),不用重新编码,直接写文件就可以了
wyyhzcflying 2007-09-04
  • 打赏
  • 举报
回复
难道就没有人懂么?大家帮帮忙呀
闪电MPEG视频转换器是一款非常专业的视频转换工具,它可以帮助您快速将各种流行视频格式转换为标准的MPEGMPEG1、MPEG2、MPEG4、MPG视频格式。也可以把所有的视频格式转换为高清晰AVI视频格式(支持DivX、XVID、DivX5、H264编码)。您可以用它将下载的视频格式转换为标准的VCD视频格式,转换为标准的SVCD视频格式,转换为标准的DVD视频格式,用于在电视机上欣赏。还可以将您的各种视频转换为常用的RM、RMVB视频格式,或转换成适合网络传输的WMV、ASF视频格式。转换为QuickTime的MOV、QT视频格式,也可以将视频格式转换为手机上常用的3GP、3GPP、3G2视频格式。还可以完美转换(优酷、土豆、酷6网的视频格式)SWF、FLV这类的FLASH网络视频格式。还可以从视频格式中提取音频MP3、WAV、WMA、OGG、AC3、FLAC、AAC等流行的音频格式(及以上的音频格式互转)。本软件因为采用了最先进的编码和解码技术,所以转换速度和质量非常完美,而且有很好的稳定性,软件包含了极高的技术含量。软件支持视频播放功能,可以任意截取和分割您需要的视频段落。本软件操作极为简单,只需轻轻点击一下鼠标,即可完成复杂的转换工作,支持自动关机功能,支持多视频文件的批量转换,可以为您节省宝贵的时间。软件界面美观,支持更换软件皮肤。 闪电MPEG视频转换器功能介绍 1.支持将各种常见视频转换为MOV, QT, MKV, MPEG, DAT,RM,RMVB视频格式。 2.支持将各种视频转换为AVI, DivX, Xvid, H264 视频格式,支持HD高清晰视频格式转换。 3.支持将各种视频转换为MPEG视频格式包括(MPEG1, MPEG2, MPEG4, MP4等)。 4.支持将各种网络下载的视频格式转换为标准的VCD, SVCD, DVD视频格式,可以用于刻录后在DVD、VCD机上观看。 5.支持将各种视频转换为微软的WMV, ASF网络视频格式,便于网络上传输传递。 6.支持将各种视频转换为MP4, MPEG4,AVI视频格式,用于在各种MP4、MP5播放器上移动观看。 7.支持将各种视频转换为 3GP, 3GPP,3G2, AVI等手机视频格式,便于手机上观看。 8.支持将各种视频转换为FLV, SWF等FLASH视频格式转换。可以将优酷、土豆、酷6网的下载的视频格式,转换为任意您需要的视频格式。 9.支持从视频文件中提取、分离声音并保存为MP3、WAV、WMA、AC3、OGG、AAC、AMR_NB、AMR_WB等音频格式。 10.支持视频音频的批量转换。 11.支持MP3、WAV、WMA、AC3、OGG、AAC等音频格式间相互转换。 12.支持视频的分割和截取,可以挑选您需要的视频部分和段落。 13.支持视频画面的水平、垂直翻转,可以制作或翻转颠倒的视频文件。 14.支持VCD, SVCD, DVD视频格式支持NTSC/PAL两种视频编码。 15.您可以随意调整视频和音频的音量大小。 16.可以将视频转换为4:3的普通屏幕和16:9的宽屏模式。 17.支持大文件的转换,支持大视频的转换,视频文件甚至可以超过2G大小。 18.软件转换速度极快,转换质量非常高。 19.软件界面美观,支持换肤功能。 20.支持视频文件的预览播放。 闪电MPEG视频转换器截图
闪电3GP手机视频转换器是一款功能非常强大的手机视频(3GP、3G2、3GPP、MP4、AVI)转换工具。使用它可以帮助您将各种流行的视频格式,快速转换为手机所支持的视频格式3GP、3G2、3GPP、MP4、AVI.(如各种流行的RM、RMVB、VOB、DAT、VCD、SVCD、DVD、ASF、WMV、MP4、3GP、MOV、QT、MPEG、DivX、XviD、AVI、3GPP2、H263、H264、DV、FLV、SWF等视频格式,转换为手机上可以播放的视频格式(3GP、3G2、3GPP、MP4、AVI))。 软件采用了最先进的编码和解码技术,视频转换的速度和质量极佳。还可以随意设置转换生成的视频音频文件的大小质量(可以修改视频编码器、音频编码器、分辨率、比特率、帧率、采样率、声道等)。支持转换后自动关机功能,并且软件界面美观(可以更换软件皮肤),操作极为简单,支持批量转换大量的视频音频文件,为您节省大量的宝贵时间。 闪电3GP手机视频转换器软件特色: 1、可以将各种流行的视频音频格式转换为各类手机所能播放的视频音频格式3GP、3G2、3GPP、MP4、AVI。 2、支持各种手机音频格式包括(AAC、AMR_NB、AMR_WB、MP3、WAV、WMA)转换。 3、采用先进的编码解码技术,转换速度快,转换质量高。 4、支持大量视频及音频文件的批量转换,提供转换后自动关机功能。 5、本软件对“黑莓”手机(BlackBerry)和各种智能手机的视频音频格式转换进行专门优化。 6、支持RM、RMVB、AVI、3GP、MP4、MPEG、FLV、SWF、MOV、DVD,VCD,SVCD,WMV等格式的相互转换。 7、支持从视频文件中提取、分离声音并保存为mp3、wav、wma、ac3、ogg、AAC、AMR_NB、AMR_WB等音频格式。 8、支持任意截取、分割视频和音频文件,截取精度高。 9、转换后的视频音频的大小质量可以任意调节(可以修改分辨率、比特率、帧率、采样率、声道等)。 10、支持视频画面的水平、垂直翻转,可以制作或翻转颠倒的视频文件。 11、转换的视频可以在支持MP4的DVD碟机上播放;可以在支持3GP、MP4的手机上播放。 12、转换的视频可以在苹果iPod、iPhone手机上播放;可以在在Sony PSP,PSP3上播放。 13、 可以将电影视频文件转换为Flash动画格式swf格式,及网络上流行的FLV格式。 14、支持mp3、wav、wma、ac3、ogg、aac等音频格式间相互转换。 15、可以将视频转换为4:3的普通屏幕和16:9的宽屏模式。 16、可以提高或降低视频电影的音量大小,也可以高或降低MP3,WMA音频的音量大小。可以去除视频的声音。 17、软件操作简单,界面美观,支持更换皮肤。 闪电3GP手机视频转换器截图
video cutter视频截取专家V4.3.6.916破解版(可截取视频的精彩片段)的安装文件,大小 15MB,本资源内有注册码。 本软件是一款可以让你能快速简单地吧自己所喜欢的视频精彩片段截取出来保存或分享。可以支持多种视频格式,如MP4, WMV, 3GP,AVI, MPEG, H.264/MPEG-4 AVC, H.264/PSP AVC, MOV, ASF等各种主流视频格式。 视频编辑专家支持的文件格式有 ·3GPP - 第三代合作项目 2(*.3g2) ·3GPP - 第三代合作项目(*.3gp) ·AAC - 高级音频编码(*.aac) ·AC3 - 杜比数字 AC-3(*.ac3) ·Apple TV h264(320*240)(*.mp4) ·Apple TV h264 480P(640*480)(*.mp4) ·Apple TV h264 720P(1280*720)(*.mp4) ·Apple TV MPEG-4 高质量 480P(640*480)(*.mp4) ·Apple TV MPEG-4 高压缩 480P(640*480)(*.mp4) ·Apple TV MPEG-4 视频 480P(640*480)(*.mp4) ·ASF - 高级流格式(*.mp4) ·SUN AU 格式(*.au) ·AVI - 音视频交错格式(*.avi) ·黑莓手机3GP视频(*.3gp) ·黑莓手机AMR音频(*.amr) ·黑莓手机AVI视频(*.avi) ·黑莓手机MPEG-4视频(*.mp4) ·DivX影片(*.avi) ·DVD - VOB(*.vob) ·FLV - Flash 视频格式(*.flv) ·iPhone MPEG-4(*.mp4) ·iPhone MPEG-4 Extra(*.mp4) ·iPhone MPEG-4 宽屏(*.mp4) ·iPod Video2(640x480) MPEG-4 视频(*.mp4) ·iPod (320x240)MPEG-4 视频(*.mp4) ·iPod touch MPEG-4(*.mp4) ·iPod touch MPEG-4 Extra(*.mp4) ·iPod touch MPEG-4 宽屏(*.mp4) ·M4A - MPEG-4 音频(*.m4a) ·MOV - 苹果QuickTime格式(*.mov) ·MP2 - MPEG Layer-2 音频(*.mp2) ·MP3 - MPEG Layer-3 音频(*.mp3) ·MP4 - MPEG-4视频(*.mp4) ·Zune MPEG-4视频(*.mp4) ·MPEG-1(176x144)影片(*.mpg) ·MPEG-2影片(*.mpg) ·MPEG-4 AVC视频格式(*.mp4) ·Zune MPEG-4 AVC视频格式(*.mp4) ·MPEG-1(320x240)影片(*.mpg) ·OGG - Ogg Vorbis 音频(*.ogg) ·PS3 Video(720P) MPEG-4(*.mp4) ·PS3 Video(1080P) MPEG-4(*.mp4) ·PS3 Video(480P) MPEG-4 高清晰视频格式(*.mp4) ·PS3 Video(480P) MPEG-4(*.mp4) ·PSP - PSP MPEG-4视频格式(*.mp4) ·PSP Video(480P) MPEG-4 高清晰视频格式(*.mp4) ·PSP AVC视频格式(*.mp4) ·PSP AVC视频(480*272)(*.mp4) ·RA - RealAudio(*.ra) ·RM - RealVideo(*.rm) ·RMVB- Real 媒体视频(*.rmvb) ·超级 VCD(*.mpg) ·SWF - SWF 格式(*.swf) ·Video CD(*.mpg) ·VOB - MPEG2 PS 格式(*.vob) ·WAV - 波形音频(*.wav) ·WMA - Windows媒体音频(*.wma) ·WMV - Windows媒体视频(*.wmv) ·Zune WMV - Windows媒体视频(*.wmv) ·XviD 视频(*.avi) 软件大小:14.57MB

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧