Olá, olhei para a documentação fluente do ffmpeg ( link ), bem como por meio de estouro de pilha e Super usuário e eu não tenho sido capaz de encontrar uma solução para o porque minha configuração ffmpeg fluente não pode produzir um fluxo multibits corretamente.
Eu desejo criar um fluxo de um arquivo HD mp4 e enviá-lo para três pontos finais diferentes, cada um com uma resolução e bitstream diferentes. um em 720p e 2.5k bit, um em 480 a 1.2k e o último em 360 a 700kbps
Aqui está o que eu tentei até agora
var proc3 = new ffmpeg({ source: inputURL, timeout: 0 })
.on('start', function(commandLine) {
console.log('Query : ' + commandLine);
})
.on('error', function(err) {
console.log('Error: ' + err.message);
})
.output("rtmp://22222:[email protected]/EntryPoint/cbcsportsevents_1_bitrate@22221", function(stdout, stderr) {
console.log('Convert complete' +stdout)
.addOption('-vcodec', 'libx264')
.addOption('-acodec', 'aac')
.addOption('-f', 'flv')
.withAudioBitrate('128k')
.withVideoBitrate('2.5k')
.size("1280x720")
})
.output("rtmp://222222:[email protected]/EntryPoint/cbcsportsevents_2_bitrate@22222", function(stdout, stderr) {
console.log('Convert complete' +stdout)
.addOption('-vcodec', 'libx264')
.addOption('-acodec', 'aac')
.addOption('-f', 'flv')
.withAudioBitrate('128k')
.withVideoBitrate('1.2k')
.size("852x480")
})
.output("rtmp://22222:[email protected]/EntryPoint/cbcsportsevents_3_bitrate@22223", function(stdout, stderr) {
console.log('Convert complete' +stdout)
.addOption('-vcodec', 'libx264')
.addOption('-acodec', 'aac')
.addOption('-f', 'flv')
.withAudioBitrate('128k')
.withVideoBitrate('700')
.size("640x360")
})
proc3.run()
A consulta e resultado gerados são:
Query : ffmpeg -i https://d2zihajmogu5jn.cloudfront.net/bipbop-advanced/bipbop_16x9_variant.m3u8 rtmp://22222:[email protected]/EntryPoint/cbcsportsevents_1_bitrate@22221 rtmp://22222:[email protected]/EntryPoint/cbcsportsevents_2_bitrate@22222 rtmp://22222:[email protected]/EntryPoint/cbcsportsevents_3_bitrate@22223
Error: ffmpeg exited with code 1: rtmp://22222:22222p.ep412420.i.akamaientrypoint.net/EntryPoint/cbcsportsevents_1_bitrate@22222: Invalid argument
O problema com esse resultado é que A consulta não mostra nenhuma indicação de que está separando as saídas em diferentes resoluções e taxa de bits e também o segundo ponto de extremidade do rtmp está retornando um erro.