1

我有一个读取视频剪辑(.mov、.m4v、.mp4...)的桌面 (macOS) 应用程序。应用程序将视频剪辑作为avAsset对象读取,如下所示。

import Cocoa
import AVKit

class VideoViewController: NSViewController {
    var videoPlayer: AVPlayer!
    var videoURL: URL?
    var videoDur: Double!
    var videoFrameRate: Float!
    var videoData: Data!
    var naturalSize: CGSize!
    var hasVideo = false

    @IBOutlet weak var moviePlayer: AVPlayerView!
    @IBOutlet weak var layerView: LayerView!

    func readVideoClip(url: URL) {
        let avAsset = AVURLAsset(url: url)
        let videoTracks = avAsset.tracks(withMediaType: .video)
        if videoTracks.count > 0 {
            let videoTrack = videoTracks[0]
            let playerItem = AVPlayerItem(asset: avAsset)
            let avFrameRate = videoTrack.nominalFrameRate
            videoPlayer = AVPlayer(playerItem: playerItem)
            moviePlayer.player = videoPlayer
            moviePlayer.isHidden = false
            naturalSize = videoTrack.naturalSize

            /* variables */
            hasVideo = true
            videoURL = url
            videoDur = totalDuration
            videoFrameRate = avFrameRate
        }
    }
}

我的问题是是否有办法判断所选视频剪辑是否受版权保护。该应用程序已在 Mac App Store 提供。我已经为它提交了软件更新。他们通过以下方式拒绝了它。

我们发现该应用程序允许用户选择受复制保护的文件,例如 .m4v,并且不会通知用户该文件无法转换/保存/修改。

似乎AVPlayerView有财产canBeginTrimming。以下返回false一个不受保护的视频剪辑。

if !moviePlayer.canBeginTrimming {
       // it returns false      
}

我想一个极端的措施是在用户选择视频剪辑时不接受 M4V 格式。谢谢。

4

0 回答 0