Estou tentando usar o FFmpeg para produzir uma playlist do HLS que contenha várias reproduções de áudio , mas não consigo obter o áudio & faixas de vídeo para sincronizar juntos. Aqui está o cenário:
- Suponha que eu tenha 2 arquivos de vídeo, cada um com uma faixa de áudio
- Eu uso o FFmpeg para reunir os dois vídeos para formar um único vídeo, por exemplo:
Oproblemaqueestoutendoéqueeunãopossofazeroáudiosincronizarcomovídeocorretamente.Eutenteialgunscomandosffmpeg,cadaingênuoemumníveldiferente,enamelhordashipóteseséqueeureceboumfluxosincronizadonaáreadetrabalho,masnocelular(ondeareproduçãoétratadapeloplayernativododispositivo),ovídeoperdeasincroniacomoáudiomuitorapidamenteassimqueeualternoparaaoutrafaixadevídeo.
Estouusandooffmpeg3.1.1.
Umexemplodecomandoquetentei,começandodeumrelativamentesimples,ondemapeioasfaixasdeáudioparaosegmenter
muxereovídeoparaohls
:
ffmpeg-idual.mp4-iaudio_left.mp3-iaudio_right.mp3\-threads0-muxdelay0-y\-map0-pix_fmtyuv420p-vsync1-async1-vcodeclibx264-r29.97-g60-refs3-fhls-hls_time10-hls_list_size0video/index.m3u8\-map1-acodecaac-strictexperimental-async1-ar44100-ab96k-fsegment-segment_time10-segment_list_size0-segment_list_flags-cache-segment_formataac-segment_listaudio1/audio1.m3u8audio1/audio1%d.aac\-map2-acodecaac-strictexperimental-async1-ar44100-ab96k-fsegment-segment_time10-segment_list_size0-segment_list_flags-cache-segment_formataac-segment_listaudio2/audio2.m3u8audio2/audio2%d.aac
Paramaiscomplexo,comogerarocontêinermpegts
brutoedividirasfaixas:
ffmpeg-idual_short.mp4-iaudio_left_short.mp3-iaudio_right_short.mp3\-threads0-muxdelay0-y\-map0:v-map1-map2-codeccopy-pix_fmtyuv420p-vsync1-async1-shortest-fmpegtspipe:1|ffmpeg-3.1.1-ipipe:0\-map0:0-vcodeccopy-r29.97-g60-refs3-bsf:vh264_mp4toannexb-fhls-hls_time10-hls_list_size0video/index.m3u8\-map0:1-fssegment-segment_time10-segment_list_size0-segment_formataac-segment_listaudio1/audio1.m3u8audio1/audio1_%d.aac\-map0:2-fssegment-segment_time10-segment_list_size0-segment_formataac-segment_listaudio2/audio2.m3u8audio2/audio2_%d.aac
Nãosouespecialistaemáudio/vídeo,entãotenhocertezadequeháalgofundamentalmenteerradoemmeuraciocínio,porissopeçoajudaeorientaçãoavocês.Emparticular:
- Oqueestoutentandofazeraquiéinviável?OutramaneiradecolocarissoédadoNfaixasdeáudio,gravadasemsincroniacomovídeooriginal,paraproduzirumalistadereproduçãoHLScomoáudiosemprelip-synced?
- OvídeoFPS&AstaxasdebitsdoáudiocausamoproblemadesincroniaA/V?Existemesmoumacorrelação?
- Oníveldiferentedequalidadedovídeo(porexemplo,taxadebits)afetaasincronização?
- Ocontêinerdeáudiodedestinoqueeuescolhi(mp3vsaac)influenciaasincronização?
- Devousarumúnicocomandocomváriasentradasoutrabalharemcadafluxoseparadamente?
Comovocêpodever,estoubastanteperdido.Eupesquiseiextensivamentepelainternet,assistiapalestradaApplesobre"Effective HLS" da WWDC 2012, mas as informações sobre
como produzir listas de reprodução eficazes de Múltiplos Rendições de Áudio parece ser
escasso na internet.
Obrigado por qualquer indicação.