要解决在低互联网带宽下,HLSv4格式的转换视频只能播放音频的问题,你可以使用AWS Elastic Transcoder和S3来进行视频转码和存储。下面是一个使用Node.js SDK的代码示例来实现这个解决方案:
var AWS = require('aws-sdk');
AWS.config.update({region: 'your_region'});
// 创建ElasticTranscoder对象
var elastictranscoder = new AWS.ElasticTranscoder();
// 定义转码作业的参数
var params = {
PipelineId: 'your_pipeline_id',
Input: {
Key: 'input_video_key'
},
Outputs: [
{
Key: 'output_video_key',
PresetId: 'preset_id_for_hlsv4'
}
]
};
// 创建转码作业
elastictranscoder.createJob(params, function(err, data) {
if (err) {
console.log(err, err.stack);
} else {
console.log(data);
}
});
上述代码中,需要替换以下参数:
通过以上代码创建转码作业后,Elastic Transcoder将会自动将输入视频转换为HLSv4格式,并将转码后的视频文件存储在S3存储桶中。转码完成后,你可以通过相应的URL来访问转码后的视频文件进行播放。