Estou usando o ffmpeg para converter meus arquivos de vídeo para flv.
Meu problema é que eu quero que os arquivos flv convertidos tenham videoCodecId
e audioCodecId = 2
, porque estou injetando quadros-chave no arquivo convertido e usando-o para streaming progressivo.
Mas quando eu tento o fluxo progressivo usando o arquivo com videoCodecId = 7
e auddioCodecId = 10
, não consigo fazer o arquivo funcionar corretamente. (talvez eu esteja fazendo algo errado aqui também)
Eu tentei converter um mesmo arquivo de duas maneiras:
Primeiro, com videoCodecId = 7
e audioCodecId = 10
, usei a seguinte linha de comando para fazer isso:
/ usr / local / bin / ffmpeg -i% s -map_meta_data 0: 0 -acodec libfaac -ab 96k -ar 44100 -vcodec libx264 -preq -crf 20 -palavras 0 -f flv% s
Outra maneira mantém o videoCodecId = 2
e o audioCodecId = 2
(que é desejado), mas afeta muito a qualidade do vídeo.
/ usr / local / bin / ffmpeg -i% s -map_meta_data 0: 0 -ab 96k -ar 44100 -crf 20 -f flv% s
Assim, as duas maneiras podem ajudar a resolver meu problema, primeiro, se eu puder melhorar a qualidade do meu vídeo depois de converter usando o segundo método, ou, eu poderia fazer o fluxo progressivo funcionar para arquivos com videoCodecId = 7
.
Mas li em alguns artigos que até o youtube usa vídeo com videoCodecId = 2
e audioCodecId = 2
. Então, provavelmente, há uma razão pela qual eles também fazem isso.
Mas se eu baixar um arquivo do youtube, e ver suas informações de codec usando o VLCplayer, ele diz o codec de vídeo - h264 e o áudio como mp4a que é 7 e 10, respectivamente (eu acho)
Estou muito confuso neste momento. E tenho tentado descobrir isso há alguns dias.
Qualquer ajuda ou sugestão é apreciada.