Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problemas com o video.js ou output.mov #179

Open
Abraaozuza opened this issue May 14, 2019 · 13 comments
Open

Problemas com o video.js ou output.mov #179

Abraaozuza opened this issue May 14, 2019 · 13 comments
Labels
bug Something isn't working error I got a error

Comments

@Abraaozuza
Copy link

Boa noite, pessoal!
Eu acredito que em todas as etapas está indo tudo bem, com exceção de um detalhe essencial que não consegui encontrar solução ainda. O robô não está gerando o arquivo output.mov,
Ele retorna este erro

ERRO 7

eu também tentei modificar o caminho de saída no template, mas o After Effects me retorna isto aqui

ERRO AFTER EFFECTS

e procurei tomar cuidado com a indexação dos caminhos no video.js conforme anexei abaixo,

video.js.txt

mas até agora ele simplesmente não gera o output.mov
alguém saberia me dar uma luz?

@jonaspereirar
Copy link

Olá Abraaozuza! no seu caminho do Effect: "const aerenderFilePath =C:/Program Files/Adobe/Adobe After Effects CC 2019/Support Files/aerender.exe'
eu coloquei com duas barras assim: const aerenderFilePath = 'C:\\Program Files\\Adobe\\Adobe After Effects CC 2019\\Support Files\\aerender.exe'
Quando vou a pasta content do projeto vide-maker, está lá tudo, mas enquanto ao vídeo estou com o mesmo problema que o seu! :(

@Abraaozuza
Copy link
Author

@jprodrigues1981 tipo, não está criando o arquivo output.mov ?

@jonaspereirar
Copy link

está sim @Abraaozuza, não estou é conseguindo estabelecer o consentimento com o loguin para o youtube, está a dizer que o local host 5000 já está a ser utilizado! :-/
image

@hebertlima
Copy link
Contributor

hebertlima commented May 15, 2019

@jprodrigues1981 seu erro diz address already in use :::5000 essa porta ja esta sendo usada no seu pc, você precisa apontar outra porta

@Abraaozuza
Copy link
Author

@jprodrigues1981
Posso abusar ao pedir duas coisas de você? 1) Você poderia me enviar um print de quando o seu robô abre o After Effects? Tentei novamente, e o arquivo output.mov não foi criado. To me sentindo num beco sem saída.
2) O código do seu robô para comparar com o meu.

Erro sei lá qual

Quanto ao código do robô, só mudei aquilo que você falou mesmo. Eu já tinha tentado desta forma antes e tb não gerou o output.mov
:( :( :(
video.js.txt

@jonaspereirar
Copy link

[const gm = require('gm').subClass({imageMagick: true})
const state = require('./state.js')
const spawn = require('child_process').spawn
const path = require('path')
const rootPath = path.resolve(__dirname, '..')

async function robot() {
console.log('> [video-robot] Starting...')
const content = state.load()

await convertAllImages(content)
await createAllSentenceImages(content)
await createYouTubeThumbnail()
await createAfterEffectsScript(content)
await renderVideoWithAfterEffects()

state.save(content)

async function convertAllImages(content) {
for (let sentenceIndex = 0; sentenceIndex < content.sentences.length; sentenceIndex++) {
await convertImage(sentenceIndex)
}
}

async function convertImage(sentenceIndex) {
return new Promise((resolve, reject) => {
const inputFile = ./content/${sentenceIndex}-original.png[0]
const outputFile = ./content/${sentenceIndex}-converted.png
const width = 1920
const height = 1080

  gm()
    .in(inputFile)
    .out('(')
      .out('-clone')
      .out('0')
      .out('-background', 'white')
      .out('-blur', '0x9')
      .out('-resize', `${width}x${height}^`)
    .out(')')
    .out('(')
      .out('-clone')
      .out('0')
      .out('-background', 'white')
      .out('-resize', `${width}x${height}`)
    .out(')')
    .out('-delete', '0')
    .out('-gravity', 'center')
    .out('-compose', 'over')
    .out('-composite')
    .out('-extent', `${width}x${height}`)
    .write(outputFile, (error) => {
      if (error) {
        return reject(error)
      }

      console.log(`> [video-robot] Image converted: ${outputFile}`)
      resolve()
    })

})

}

async function createAllSentenceImages(content) {
for (let sentenceIndex = 0; sentenceIndex < content.sentences.length; sentenceIndex++) {
await createSentenceImage(sentenceIndex, content.sentences[sentenceIndex].text)
}
}

async function createSentenceImage(sentenceIndex, sentenceText) {
return new Promise((resolve, reject) => {
const outputFile = ./content/${sentenceIndex}-sentence.png

  const templateSettings = {
    0: {
      size: '1920x400',
      gravity: 'center'
    },
    1: {
      size: '1920x1080',
      gravity: 'center'
    },
    2: {
      size: '800x1080',
      gravity: 'west'
    },
    3: {
      size: '1920x400',
      gravity: 'center'
    },
    4: {
      size: '1920x1080',
      gravity: 'center'
    },
    5: {
      size: '800x1080',
      gravity: 'west'
    },
    6: {
      size: '1920x400',
      gravity: 'center'
    }

  }

  gm()
    .out('-size', templateSettings[sentenceIndex].size)
    .out('-gravity', templateSettings[sentenceIndex].gravity)
    .out('-background', 'transparent')
    .out('-fill', 'white')
    .out('-kerning', '-1')
    .out(`caption:${sentenceText}`)
    .write(outputFile, (error) => {
      if (error) {
        return reject(error)
      }

      console.log(`> [video-robot] Sentence created: ${outputFile}`)
      resolve()
    })
})

}

async function createYouTubeThumbnail() {
return new Promise((resolve, reject) => {
gm()
.in('./content/0-converted.png')
.write('./content/youtube-thumbnail.jpg', (error) => {
if (error) {
return reject(error)
}

      console.log('> [video-robot] YouTube thumbnail created')
      resolve()
    })
})

}

async function createAfterEffectsScript(content) {
await state.saveScript(content)
}

async function renderVideoWithAfterEffects() {
return new Promise((resolve, reject) => {
const aerenderFilePath = 'C:\Program Files\Adobe\Adobe After Effects CC 2019\Support Files\aerender.exe'
const templateFilePath = ${rootPath}/templates/1/template.aep
const destinationFilePath = ${rootPath}/content/output.mov

  console.log('> [video-robot] Starting After Effects')

  const aerender = spawn(aerenderFilePath, [
    '-comp', 'main',
    '-project', templateFilePath,
    '-output', destinationFilePath
  ])

  aerender.stdout.on('data', (data) => {
    process.stdout.write(data)
  })

  aerender.on('close', () => {
    console.log('> [video-robot] After Effects closed')
    resolve()
  })
})

}

}

module.exports = robot](url)

No meu ficou tudo igual, apenas modifiquei o caminho como te tinha dito, já foste na pasta do projeto e na pasta content e não está lá o mov? observando o seu ultimo print ele está gerando, no meu caso já consegui, modifiquei a porta de 5000 para 6000 no projeto na parte do video e gerei nova api no cloud, Obrigado @hebertlima

@jonaspereirar
Copy link

image
no caminho coloque duas barras como mostra no print "'C:\Program Files\Adobe\Adobe After Effects CC 2019\Support Files\aerender.exe'"
espero que ajude ;)

@Abraaozuza
Copy link
Author

Então, @jprodrigues1981 obrigado por compartilhar!
O que acontece é que eu vou na pasta content e o output.mov nunca está lá, e a partir disso é que não tá funcionando pra mim.

@Abraaozuza
Copy link
Author

vou comparar já já, estou terminando de ver um conteúdo, tenho prova amanhã

@matbrgz matbrgz added the bug Something isn't working label Oct 31, 2019
@matbrgz
Copy link
Collaborator

matbrgz commented Oct 31, 2019

@Abraaozuza Conseguiu resolver? Posso fechar a issue?
Em 15 dias sem resposta do autor irei fechar, caso necessário posso abrir novamente.

@leodutra
Copy link
Collaborator

Também parece um erro mais profundo, merece ser investigado e ter guards.

@leodutra leodutra added the error I got a error label Oct 31, 2019
@Abraaozuza
Copy link
Author

@Abraaozuza Conseguiu resolver? Posso fechar a issue?
Em 15 dias sem resposta do autor irei fechar, caso necessário posso abrir novamente.

Não consegui resolver, nem encontrar uma solução

@Abraaozuza
Copy link
Author

problema
Hoje, dia 31 de dezembro, ainda estou com o mesmo problema, não consigo criar o arquivo output.mov

@matbrgz matbrgz added this to Bugs Dec 17, 2023
@matbrgz matbrgz moved this to In progress in Bugs Dec 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working error I got a error
Projects
Status: In progress
Development

No branches or pull requests

5 participants