【问题标题】:Android video format安卓视频格式
【发布时间】:2013-05-08 12:57:27
【问题描述】:

我们想要制作一个可以在所有 Android 设备上播放的视频。 我们应该如何指定视频的格式,以便它可以在几乎所有的 Android 设备上播放?

与我们合作的制作公司提议:

Container = QuickTime Movie
Frame Size = 1280 x 720
Frame Rate = 30 fps
Codec = ProRes HQ (if alpha channel is needed, use ProRes 4444) 
Audio = PCM - 48khz, 16bit (if needed)

我认为这是完全错误的。他们显然对 Android 一无所知,只是提出了对 iOS 有用的东西。 .Mov 文件根本无法在 Android 上播放。

我认为这是通用格式,具体包括“将在 Android 上播放”:

container format = .mp4 (MPEG4) 
codec =  "H.263", 
audio codec = AAC-LC

任何有 Android 视频实践经验的人都可以在这方面提供指导吗?谢谢, 彼得

【问题讨论】:

    标签: android video h.264


    【解决方案1】:

    here 和 here 有不少细节。

    总结:

    • H.264 基线配置文件,480 x 360 像素,30 fps,500 Kbps
    • AAC-LC,立体声,128 Kbps

    【讨论】:

    • 感谢您的链接,保罗。我之前已经阅读了该页面(所有内容,而不仅仅是您链接到的两个部分),但发现其中一些令人困惑。编解码器列中的“•”是什么意思?
    • 项目符号表示支持,但仅在某些平台上,如果括号中给出。
    【解决方案2】:

    1280 * 720 对于任何 android 设备来说都是一个很大的分辨率,它不适用于所有设备......我使用 640*480 ,它适用于我将检查的所有设备...... 这是我的代码

    this.mediaRecorder = new MediaRecorder(); this.mediaRecorder.setCamera(this.camera);

    this.mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
    this.mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
    this.mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
    
    
    this.mediaRecorder.setMaxDuration(10000);
    
    
    this.mediaRecorder.setOutputFile(this.initFile().getAbsolutePath());
    this.mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
    this.mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
     this.mediaRecorder.setVideoSize(640,480); 
     this.mediaRecorder.setVideoFrameRate(12); 
    
    
    
    
    
    try {
        this.mediaRecorder.setPreviewDisplay(this.cameraPreview.getHolder().getSurface());
        this.mediaRecorder.prepare();
    
    
    
    
        // start the actual recording
        // throws IllegalStateException if not prepared
        this.mediaRecorder.start();
        Toast.makeText(this, R.string.recording, Toast.LENGTH_SHORT).show();
        // enable the stop button by indicating that we are recording
        this.toggleButtons(true);
    } catch (Exception e) {
        Log.wtf(TAG, "Failed to prepare MediaRecorder", e);
        Toast.makeText(this,"record nathi thatu...", Toast.LENGTH_SHORT).show();
        this.releaseMediaRecorder();
    }
    

    }

    【讨论】:

    • 我认为他不是在询问有关在设备上录制视频的问题。相反,所有 Android 设备将普遍支持哪种格式/编码。
    • 是的,Paul 的说明是正确的——我们正在聘请一家艺术公司来制作符合我们规范的视频。然而,考虑到他们对计算机行业最高容量平台的惊人无知,我现在想知道。也许他们对艺术的了解比对 Android 的了解更多。谢谢大家——非常有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-03
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多