You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用android-youtubeExtractor下载1080p视频时无音频问题咨询

嘿,这个问题我太懂了!用android-youtubeExtractor下载1080P视频时没声音,其实是YouTube的“小心机”导致的——1080P及更高分辨率的视频,YouTube会把视频画面和音频分开存储成独立的流,你如果只下载了视频流,自然就听不到声音啦。下面给你一步步解决的方案:

解决步骤

1. 同时抓取视频流和音频流

首先,你不能只盯着最高清的视频流,得同时找到对应质量最好的音频流。YouTube用不同的itag值来区分不同的流类型,比如137对应1080P的纯视频流,141对应256kbps的高质量AAC音频流。

你可以在Extractor的回调里同时获取这两个流的下载链接:

YouTubeExtractor extractor = new YouTubeExtractor(context) {
    @Override
    public void onExtractionComplete(SparseArray<YtFile> ytFiles, VideoMeta videoMeta) {
        // 获取1080P视频流(itag=137)
        YtFile videoStream = ytFiles.get(137);
        // 获取高质量音频流(itag=141,256kbps AAC)
        YtFile audioStream = ytFiles.get(141);

        if (videoStream != null && audioStream != null) {
            // 分别下载视频和音频文件
            downloadFile(videoStream.getUrl(), "video_temp.mp4");
            downloadFile(audioStream.getUrl(), "audio_temp.m4a");
        }
    }
};
extractor.extract("你的YouTube视频链接");

如果137或者141不存在,你可以查一下最新的YouTube itag对照表,选其他合适的itag值。

2. 合并音视频文件

下载好两个独立的文件后,需要把它们合并成一个完整的带声音的视频。Android上最方便的工具是FFmpeg,你可以用封装好的FFmpegAndroid库来实现。

合并的核心命令是直接复制音视频流(不需要重新编码,速度很快):

ffmpeg -i video_temp.mp4 -i audio_temp.m4a -c copy final_video.mp4

在代码里调用的示例如下:

FFmpeg ffmpeg = FFmpeg.getInstance(context);
String[] mergeCommand = {
    "-i", "video_temp.mp4",
    "-i", "audio_temp.m4a",
    "-c", "copy",
    "final_video.mp4"
};

ffmpeg.execute(mergeCommand, new ExecuteBinaryResponseHandler() {
    @Override
    public void onSuccess(String message) {
        // 合并成功!可以处理最终的视频文件了
        // 记得删除临时的视频和音频文件哦
    }

    @Override
    public void onFailure(String message) {
        // 合并失败,检查一下文件路径或者FFmpeg配置
        Log.e("MergeError", message);
    }
});

3. 额外小提示

  • 720P及以下的分辨率,YouTube通常会提供音视频合并的流,但1080P及以上都是分离的,所以这个合并步骤是必须的。
  • 尽量选择编码兼容的流对,比如MP4视频(H.264编码)搭配AAC音频,这样用-c copy就能快速完成合并,不会耗费太多时间和性能。

内容的提问来源于stack exchange,提问作者Wafaa Jame

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:55:31