问题标签 [mp4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
272 浏览

actionscript-3 - 如何使用 AS3 从 mp4 中提取索引位置?

我知道您可以从 mp4 中提取元数据,但我想专门提取 Moov Atom 中的索引点。非常感谢任何输入。

如果有人知道可以读取mp4索引位置的程序会更好。

0 投票
4 回答
1333 浏览

iphone - 为 MP4 视频添加效果?

我想对 MP4 视频做几件事,但我不知道从哪里开始。

我想做的一些事情:
- 将视频的颜色更改为黑白、棕褐色等
- 添加动画,例如淡入、淡出、自定义图像/文本四处移动
- 将文本嵌入到视频中

本质上,视频编辑程序的基本功能。

是否有我可以用来为 MP4 视频执行这些操作的代码库?或者我可以阅读的地方开始?我似乎找不到任何有关此的信息,尤其是 MP4 的格式。

我在想我需要为视频的每一帧应用某种 RGB 转换以获得颜色效果,并可能将我想要的动画视频附加到给定的 MP4 视频中。

编辑:非常感谢您提供的信息。我正在尝试以编程方式执行此操作。FFmpeg 仅用于视频转换,因此不能完全满足我的要求。Puffadder 为我提供了必要的信息,让我了解该做什么。总之,非常感谢大家!

0 投票
1 回答
2041 浏览

iphone - 在 MP4 文件中播放跳过/搜索

我试图找出在 iPhone 上使用 AudioFileStream 和 AudioQueue API 播放 mp4(或 m4a)音频文件时执行跳过或搜索的正确技术。

如果我将完整的 mp4 标头(直到 mdat 框)传递给打开的 AudioFileStream,则会正确识别底层音频文件类型(在我的情况下为 AAC),然后当我传递文件的实际 mdat 数据部分时,AudioFileStream正确开始生成音频数据包,这些数据包可以发送到 AudioQueue 和播放工作。

但是,如果我尝试使用随机访问方法来播放文件,我似乎无法让它正常工作,除非我总是将 mdat 框的第一帧发送到 AudioFileStream。相反,如果在将 mp4 标头发送到 AudioFileStream 之后,我尝试通过首先调用 AudioFileStreamSeek() 然后传递相关数据包的数据来最初跳到 mdat 中的后一帧,AudioFileStream 似乎会生成音频数据包,但是当我将这些传递给 AudioQueue 并调用 AudioQueuePrime() 时,我总是会收到一个返回“nope”的错误。

我的问题是:在尝试随机播放 mp4 文件中的其他数据包之前,我是否总是需要至少传递 mdat 框的第一个数据包?

在使用 AudioFileStream 和 AudioQueue 时,我似乎找不到任何关于随机播放 mp4 文件部分的文档。我发现 Apple 的 QuickTime File Format pdf 描述了在 mp4 文件中随机搜索的技术,但它只是一个高级描述,并没有提到使用特定的 API(例如 AudioFileStream)。

感谢您的任何见解。

0 投票
2 回答
2406 浏览

c# - 在 C# 中使用 FFmpeg 或包装器从 mp4 获取 mp3

我正在尝试从与 Flash 兼容的 mp4 文件中提取 mp3,到目前为止,我已经找到了 FFMpeg 和一堆不同的包装器,它们都声称能够完成这项工作。

理想情况下,我不想依赖对 FFMpeg exe 的脱壳,但我尝试过的所有包装器似乎都不起作用......

有没有人有任何关于如何去做的代码或建议?

谢谢!

0 投票
2 回答
2413 浏览

mp4 - 从 h264 AVI 文件中重新混合 mpv 文件

我想我有一堆 x264 编码的 AVI,我想将它们转换为 m4v,以便我可以使用 Quicktime。这是我创建它们的方式

首先,我用这个从 DVD 中转储 vob:

然后我压缩它:

我尝试这样做将它们转换为 m4v,但它正在爆炸......

我尝试转储 h264/acc 流:

并使用 MP4Box 重新混合(?),但我收到一个错误:

所以现在不知道该怎么办...

0 投票
1 回答
237 浏览

html - 如何为媒体文件生成带有编解码器的内容类型字符串?

是否有一个命令行工具可以嗅探视频/音频文件并为它们生成详细的内容类型字符串,格式在 HTML5 规范和 RFC4281 中指定?

每当 HTML5 浏览器支持编码时,我想使用此服务器端来避免重新编码上传的 MP4 和 OGG 文件。视频托管网站选择重新编码所有内容,我认为这是错误的方法,因为这意味着上传时间长或质量低。

0 投票
1 回答
1050 浏览

c# - 如何在 Silverlight 中播放 *.mp4(本地 - 无服务器)?

如何在 Silverlight 中播放 *.mp4(本地 - 无服务器)?我有一个文件如何使用 xaml 和 c# 播放 itr

0 投票
3 回答
7427 浏览

actionscript-3 - AAC/MP4 在 ActionScript 3 的 NetStream 中不起作用

我正在尝试在 Flash CS3 中的 ActionScript 3 中播放远程 AAC 文件,目前正在使用此代码:

var url:String = "http://a1.phobos.apple.com/us/r1000/020/Music/d4/50/94/mzm.kjjofihr.aac.p.m4a";
var connect_nc:NetConnection = new NetConnection();
connect_nc.connect(null);
var stream_ns:NetStream = new NetStream(connect_nc);
stream_ns.play(url);

(这是基于: http: //www.adobe.com/devnet/flashplayer/articles/hd_video_flash_player_03.html

不抛出错误,但不播放声音。对于本地 AAC 文件和本地 MP4 视频,我得到了相同的行为。

如果我使用不是可流式传输文件的 URL 或文件路径,我会收到 NetStream.Play.StreamNotFound 错误,我猜这意味着在有效 URL 的情况下找到了流。如果我使用本地 FLV,它的音频可以正常播放。

如果我在 netStatusHandler 中添加以下侦听器和跟踪(evt.info.code),我只会看到使用 FLV 跟踪的任何代码(例如 NetStream.Play.Start)。使用 AAC 或 MP4 不会跟踪任何代码。stream_ns.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

添加此侦听器也是如此(即仅使用 FLV 跟踪 onMetaData 参数,而不使用其他文件类型),将 metaDataListener 定义为具有跟踪其参数的 onMetaData 方法的对象。
stream_ns.client = metaDataListener;

关于这里可能出了什么问题或如何诊断它的任何想法?

谢谢!

0 投票
1 回答
2585 浏览

java - 有没有一种简单的方法可以在 java 中播放 rtmp 流?

我想在 java 中播放通过 rtmp 协议流式传输的 MP4 videon。

我找到了一些 rtmp 库(yuv、red5),但在 mp4 显示上什么也没有。

在java中是否有一个(可能简单且可能与平台无关的)解决方案?

0 投票
1 回答
3133 浏览

apache-flex - 错误:使用 NetStream 对象 (Actionscript/Flex) 播放 mp4 文件时出现“NetStream.Play.StreamNotFound”

我正在使用 NetStream、NetConnection 和 Video 对象播放一个使用 http 托管在 Web 服务器上的 mp4 文件。

mp4 文件 URL 例如:http://xx.xx.xx.xx/file.mp4

这是一个 AIR 应用程序,相关代码粘贴在下面:



此代码在 MAC OS X 上运行时有效。但在 Windows XP 上运行时无效。我得到错误:

我还尝试在同一 Windows XP 主机上使用 VLC 播放器播放 URL。该 URL 有效,因为 VLC 可以播放它。

在我的特定情况下,http URL 由 Win 7 机器上的 WMP 12(窗口媒体播放器 12)托管,我正在使用 WMP 12 的媒体共享功能。

在进一步研究了wireshark 上的http 流量后,我发现了以下内容。

在运行 adobe AIR 应用程序的主机上运行 wireshark 后,似乎收到了 HTTP 406 响应

由 WMP 12 运行的服务器。


回复:

在 MAC 上:

但是它会收到 200 OK 响应,这就是视频流工作的原因。


回复:

我可以在 Windows XP 和 MAC 版本之间的 HTTP 请求中看到的区别是 Accept: Header。Windows 情况下的 Accept: 标头值是否错误,因为 WMP 12 拒绝了 http 请求。

如果我在 Win 7 主机上运行 adobe AIR 应用程序,我会看到同样的失败。

我是否错误地使用了 NetStream 对象,或者它是 WMP 12 代码中的一个错误,无法正确解析标头,或者它是一个 flex 错误,它生成了一个不正确的接受:标头?