我试图通过本地unix socket从android摄像头流式传输视频,并将文件从流写入sdcard.一切正常,除了文件不能播放任何播放器.这是因为Android没有填补文件中的一些空白,因为socket不可寻找.据我所知,我需要在视频流结束后进行一些修改.我在这里,这里和这里读过几篇文章,但没有一篇能帮到我.我正在使用十六进制编辑器来学习如何手动完成它,所以之后在Android代码中执行相同操作将是微不足道的.
以下是从流中保存的示例文件:https://dl.dropbox.com/u/17510473/sample_not_playable.3gp
任何人都可以修复它使它可玩并告诉他是如何做到的?
编辑:我擦除3gp文件的标题,并编写新的文件,如下所示:
00 00 00 18 66 74 79 70 33 67 70 34 00 00 03 00 33 67 70 34 33 67 70 36 00 00 00 00
Run Code Online (Sandbox Code Playgroud)
然后我用以下命令找到mdat和moov原子的起始位置:
grep -aobE "ftyp|mdat|moov" sample_not_playable.3gp
Run Code Online (Sandbox Code Playgroud)
它给了我以下输出:
4:ftyp
28:mdat
1414676:moov
Run Code Online (Sandbox Code Playgroud)
然后做 1414676 - 28 = 1,414,648 = 0x1595F8
然后我写0x1595F8为25-28字节,就在mdat原子之前.所以我的标题现在看起来像这样:
00 00 00 18 66 74 79 70 33 67 70 34 00 00 03 00 33 67 70 …Run Code Online (Sandbox Code Playgroud) 我已经检查了stackoverflow并搜索了整个互联网,但无法找到我的问题的解决方案.在我的应用中,我需要控制YouTube视频的显示方式.我需要控制MPMoviePlayerController,从而控制MPMediaPlayback属性.所以实际上我有3个问题:
是否已有解决方案直接在您自己创建的MPMoviePlayerController中播放YouTube视频?
在某种程度上可以播放RTT - youtube为MPMoviePlayerController中的移动网站提供的3GP链接吗?(现在它拒绝RTSP格式)
是否可以控制MPMoviePlayerController,只要youtube视频嵌入到UIWebView中,它就会启动?
如果这3个问题中只有一个可以回答,我会非常高兴!
提前致谢!
有没有一种简单的方法将2个3gp(amr)音频文件合并到一个音频文件中?
我需要它们彼此同步/上下而不是一个接一个.我正在使用android来做到这一点.我听说某些音频格式你可以简单地添加字节(小心你不会得到太高或太低的结果).这对于Android上的3gp/amr格式是否正确?
这是一个Java问题.我尝试使用Fobs4jmf来播放3gp.我可以看到视频,但没有任何声音.有什么解决方案吗?
我尝试了一个名为xuggler的新库,但我只看到如何操作,修改视频而不是播放视频文件.是否可以使用它播放视频,声音?
这是Fobs4jmf无法播放的音频文件(纯音文件) http://gonow.no-ip.org/example.3gp
谢谢
有人知道如何从 3gb 视频文件中获取缩略图(静止图像)吗?第一帧或类似的东西。我使用的是 .net,但解决方案可以是任何语言(托管或本机)或第三方产品。
我想在我的Android平板电脑上播放.3gp视频文件.我试过下面的代码,但它会抛出一条错误信息.如何在Android中使用默认视频播放器?
String movieurl = root + "/" + fileNameTextView.getText().toString();
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
Uri data = Uri.parse(movieurl);
intent.setDataAndType(data,"video/3gpp");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
11-15 13:47:11.060:E/AndroidRuntime(23061):android.content.ActivityNotFoundException:找不到处理Intent的Activity {act = android.intent.action.VIEW dat =/mnt/sdcard/DCIM/Camera/VID_20121002_174209 .3gp typ = video/3gpp}