【问题标题】:How can i detect CODEC in MPMoviePlayerController in iphone-sdk如何在 iphone-sdk 的 MPMoviePlayerController 中检测 CODEC
【发布时间】:2011-04-27 11:43:37
【问题描述】:

当使用 Sorenson CODEC 制作视频时... MPMoviePlayerController 只播放音频(而不是视频),而此时我想显示我的自定义错误消息。我如何以编程方式检测特定文件使用哪个编解码器...?

编辑:我没有在我的代码中使用快速时间,因此解决方案不起作用

谢谢

【问题讨论】:

    标签: iphone ios4 iphone-sdk-3.0 mpmovieplayercontroller mpmovieplayer


    【解决方案1】:

    查看此文档以了解 Quicktime 文件格式: http://developer.apple.com/library/mac/documentation/QuickTime/QTFF/qtff.pdf

    您要查找的字段是包含视频fourcc 代码的“vfmt”代码(文件中的每个视频轨道都有一个,因此请注意您的文件是否包含多个视频轨道)。 Sorenson编解码器的fourcc码是“SVQ1”和“SVQ3”。

    现在您必须编写一些代码来解析 QT 文件以找到正确的原子,提取“vfmt”值并将其与 SVQ1/SVQ3 进行比较!

    Apple 提供了一些类来轻松解析 quicktime 文件,但它仅适用于 Mac OS,不适用于 iOS!

    【讨论】:

    • 谢谢,但它适用于 QuickTIme 而不是 MPMoviePlayerController 我们如何在 iOS 的 MPMoviePlayerController 中做同样的事情
    • MP4 文件使用与 quicktime 文件相同的格式(quicktime atom)!如果有可以播放的音轨,MPMoviePlayerController 不会告诉您编解码器不受支持!您必须在 MPMoviePlayerController 之外进行。如果您正在尝试播放本地文件,只需编写一个 quicktime atom 解析器,然后在播放视频之前,只需解析视频文件以检查fourcc 代码是否正常!如果您正在流式传输文件,那么您应该编写一个流解析器(它可能会在视频播放之前增加重要的延迟......)。
    猜你喜欢
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2011-10-28
    • 2012-05-11
    • 1970-01-01
    • 2023-04-10
    相关资源
    最近更新 更多