Articles of mp4

html5video标签中的Mp4video无法在移动Chrome和移动游戏中播放

我有这个代码在html5页面播放video: 问题是它不适用于移动Chrome(Android手机)和移动游戏(iPhone)。 但它适用于桌面上的“每个”浏览器(使用Safari,Chrome,Firefox测试)以及移动版Firefox(Android手机)。 我该如何克服这个问题? 编辑:添加此代码: var myVideo = document.getElementById(“bgvid”); function playVid() { myVideo.play(); } function pauseVid() { myVideo.pause(); } 如果我添加一个触发函数playVid()的按钮就可以了。 所以我认为问题在于自动播放。 我试图用load事件触发函数,但它不起作用。

Android MediaCodec:减少mp4video大小

我正在寻找一种“压缩”mp4video的方法。 为此,我想降低video的分辨率和/或降低FPS。 经过长时间的研究,我认为这样做的方法是使用MediaCodec和相关的API,如下所示: – > MediaExtractor从mp4文件中提取编码的媒体数据。 – > MediaCodec(解码器):解码每个帧以供以后处理。 – > MediaCodec(编码器):此时,我猜我们应该在哪里建立MediaFormat参数,例如video分辨率,这应该有助于我们减少mp4文件的最终大小。 – > MediaMuxer用于生成mp4文件(MinSDK 18,这可能是一个问题,但现在……好的)。 我不想使用SurfaceView / TextureView。 关于音频,我不想处理它以降低质量。 我一直在看这里的所有例子: http : //bigflake.com/mediacodec/ 我也看过CTS源代码模块。 我一直在研究以下几个项目: https : //github.com/vecio/MediaCodecDemo/blob/master/src/io/vec/demo/mediacodec/DecodeActivity.java 当然,我已经在stackoverflow上阅读了几十篇post。 问题是我还没有find任何适合这个porpuse的代码示例。 我尝试将各种代码片段放在一起放在一个项目中,但实际上并没有用。 谢谢。

如何在mp4video文件中添加MOOVprimefaces

我正在研究Android中的实时设备到服务器流。 我能够在服务器上以字节为单位发送数据,但是当我在服务器VLC上录制期间播放该文件时,表示未findMOOVprimefaces。 经过大量的解决方法后,我发现mp4文件的MOOVprimefaces最终生成了。 但我必须在服务器上播放该文件,而录制意味着直播。 我浏览了SPYDROID和SIPDROID的源代码,但是没有它们正在工作。 我尝试使用FFMPEG在服务器端添加move atom但没有取得任何成功。 任何人都知道如何实现这一目标。 提前完成。

如何使用MediaCodec Android压缩mp4video?

在我的Android应用程序中,我想通过更改其分辨率,比特率来压缩mp4video。 我不想使用FFmpeg(因为我不想使用NDK),所以我决定使用MediaCodec API。 以下是我的逻辑步骤: 使用MediaExtractor提取video文件,然后解码数据。 使用我的新分辨率,比特率和编码数据创建新的编码器。 使用MediaMuxer创建新的mp4文件。 我的问题是:我不知道如何设置解码器输出和编码器输入之间的连接。 我可以将video解码为Surface或从曲面编码新video。 但我不明白如何连接它们。 我读了这些链接: Android MediaCodec: 使用新的MediaCodec库和Bigflake的示例减少mp4video大小 , Android上的video压缩 : https ://android.googlesource.com/platform/cts/+/jb-mr2-release/tests /tests/media/src/android/media/cts/DecodeEditEncodeTest.java 任何人都可以给我一个明确的解释我必须做什么吗?

Android应用开发中的Pre-Load或Pre-Buffer .mp4video

我正在构建一个成功在onButtonClick上显示MP4video文件的应用程序。 我想预先缓冲或预加载video的URI(远程url),这样一旦点击按钮,它就不会延迟播放video。 我想让它立即点击播放,因此在应用启动启animation面上预加载或缓冲似乎是一个合适的解决方案。 唯一的问题是我不知道如何。 我有大量的Android书籍,但几乎没有任何书籍覆盖缓存,或者它们只涵盖音频。 谁能让我知道如何在之前的活动中缓冲video? 谢谢。

如何从assets文件夹加载video? (用VideoView播放)

我需要从assets文件夹打开一个mp4video,然后用VideoView播放它。 我尝试了这两个选项,但它们都不起作用…. mVideoView.setVideoPath(“file:///android_asset/videos.mp4”); mVideoView.requestFocus(); mVideoView.start(); 和… String uriPath = “file:///android_asset/videos.mp4”; Uri uri = Uri.parse(uriPath); mVideoView.setVideoURI(uri); mVideoView.requestFocus(); mVideoView.start(); 这些选项不起作用,但是如果我尝试从SDCARD打开video它运行得很好,那么,问题是当我尝试从assets文件夹加载video时。 我做错了什么? 谢谢

使用Android中的本地插槽将实时video录制保存到SD卡 – video无法播放

尝试捕获video并使用本地套接字将其保存为Mp4 / 3gp格式的SD卡。 能够按字节写入sd卡,但video文件不可播放。我已经经历了很多例子: https://github.com/fyhertz/spydroid-ipcamera https://github.com/mconf/sipdroid 还有很多。 我注意到有人建议这可能是文件头的问题。 我试图从标题跳过那些“mdat”数据: private void skipHeader() throws IOException { // Skip all atoms preceding mdat atom byte[] buffer = new byte[3]; while (true) { while (mReceiver.getInputStream().read() != ‘m’); mReceiver.getInputStream().read(buffer,0,3); if (buffer[0] == ‘d’ && buffer[1] == ‘a’ && buffer[2] == ‘t’) break; } } 最后没有什么对我有用。我需要做些什么来使这些video文件可以使用Local Socket播放

在android中添加水印位图:4.3的MediaMuxer或ffmpeg

这是我的情景: 从网上下载avi电影 打开位图资源 在背景中的所有帧上将此位图叠加在电影的底部 将video保存在extarnal存储上 video长度通常为15秒 这可能是使用MediaMuxer实现的吗? 很高兴收到有关此事的任何信息 我一直在寻找http://bigflake.com/mediacodec/#DecodeEditEncodeTest (谢谢@fadden),它说: “解码帧并将其复制到带有glReadPixels()的ByteBuffer,在Nexus 5上大约需要8ms,速度足够快以跟上30fps的输入速度,但将其作为PNG保存到磁盘所需的额外步骤很昂贵(大约一半)一秒)” 所以几乎1秒/帧是不可接受的。 根据我的想法,一种方法是将每个帧保存为PNG,打开它,在其上添加位图叠加然后保存它。 然而,这将花费大量时间来完成。 我想知道是否有办法做这样的事情: 从外部存储打开video文件 开始解码它 每个解码帧将通过内存中的位图叠加进行更改 帧被发送到编码器。 在iOS上,我看到有一种方法可以将原始音频+原始video+图像添加到一个容器中,然后对整个事物进行编码…… 我应该切换到ffmpeg吗? ffmpeg的稳定性和兼容性如何? 我冒着与Android 4.0+设备兼容性问题的风险吗? 有没有办法用ffmpeg来实现这个? 我是这个领域的新手,还在做研究。 多年后编辑: 自问题出现以来已经过去了很多年,并且ffmpeg在许可方面很难添加到商业软件中。 这是如何演变的? 较新版本的android在默认的sdk上更有能力吗?

如何使用MediaPlayer在列表视图中播放多个video?

我试图实现与video列表视图,因为它的元素。 我正在使用此项目在纹理视图上显示video。 它在下面使用MediaPlayer。 当在同一时间加载两个video时,它(大部分时间)失败。 我得到的错误是: TextureVideoView error. File or network related operation errors. MediaPlayer: error (1, -2147479551) 这也是从磁盘加载文件时发生的 在error handling部分,我尝试重置URL。 然后,我大部分得到 E/BufferQueueProducer: [unnamed-30578-12] disconnect(P): connected to another API (cur=0 req=3) 错误。 我不清楚的是,从networking设置一些任意video将工作,但重试相同的URL将失败。 所以在OnErrorListener中: textureView.setVideo(item.getUriMp4(),MediaFensterPlayerController.DEFAULT_VIDEO_START); 将失败,但是: textureView.setVideo("http://different.video" … ) 将工作得很好。 这对于特定文件也不是问题,因为滚动不同的video文件将失败。 有时那些失败的人下次还会工作 我也试过MediaCodec和MediaExtractor组合,而不是MediaPlayer方法,但我碰到,看起来像什么, 设备特定的平台错误 任何提示? 有什么build议么? 谢谢 W上。

WhatsAppvideo作为GIF在编程上共享

我怎样才能将MP4video文件转换为WhatsApp的GIF文件(它简单地显示为应用程序用户界面内的GIF,但内部是一个特定的MP4格式)在Android共享意图,通过WhatsApp聊天应用程序被认可为这种types的媒体? ?? 我search了很多,但是我找不到任何来自WhatsApp文档的信息(他们没有这种types的文档)或者任何与我有同样问题的开发者。 我拥有的: 我发现,如果你在hex编辑器上阅读它们,在whatsapp“gif”mp4文件的开始处显示一个循环值,所有文件都有这个。 删除这个值使得whatsapp作为普通video接收(不共享为gif)。 我怎样才能使用ffmpeg编码添加此值? (用这个值手动编辑我的mp4文件损坏的文件,也许我必须修复一些我还不知道的mp4头索引…) 以hex表示的第一个80字节(从mp4结构开始到“moov”primefaces开始): 00 00 00 1C 66 74 79 70 6D 70 34 32 00 00 00 01 6D 70 34 31 6D 70 34 32 69 73 6F 6D 00 00 00 18 62 65 61 6D 01 00 00 00 01 00 00 00 00 00 […]