FFmpeg & iPhone: não exibe o botão de idioma de áudio

3

Estou criando um arquivo MP4 com FFmpeg 1.1.1 , usando life e aevalsrc para gerar algum vídeo e áudio de teste:

ffmpeg -f lavfi -i life -f lavfi -i aevalsrc=0 -frames:v 750 life.mp4

Se eu reproduzi-lo em um iPhone executando o iOS 4.1, aparece um botão de idioma de áudio (indicado pela seta amarela) que normalmente não é exibido quando outros arquivos MP4 são reproduzidos:

Tocarnestebotãoexibeumateladeidiomadeáudio,com"Indeterminado" sendo a única opção:

UsandooFFprobeparamostrarasinformaçõesdofluxo,possoverumatagdemetadados"language": "und" nos fluxos de áudio e vídeo:

ffprobe -v quiet -print_format json -show_streams life.mp4

{
    "streams": [
        {
            "index": 0,
            "codec_name": "h264",
            "codec_type": "video",
            ...
            "tags": {
                "language": "und",
                "handler_name": "VideoHandler"
            }
        },
        {
            "index": 1,
            "codec_name": "aac",
            "codec_type": "audio",
            ...
            "tags": {
                "language": "und",
                "handler_name": "SoundHandler"
            }
        }
    ]
}

No entanto, eu também tenho um arquivo MP4 antigo contendo a tag "language": "und" metadata que não faz com que o botão de idioma do áudio apareça no iPhone. Portanto, a presença dessa tag não é a causa do aparecimento do botão.

Eu tenho tentado descobrir o que faz com que o botão do idioma de áudio seja exibido para alguns arquivos MP4, mas não para outros.

Aqui está a saída do FFprobe para estes dois arquivos MP4, e o diff deles:

A diferença no valor compatible_brands pode ser a causa? É "mp41" quando o botão não é exibido e "isomiso2avc1mp41" quando o botão é exibido.

Aqui está a saída MediaInfo para esses dois arquivos MP4, e a diferença deles:

Então, minha pergunta é: como posso fazer com que o FFmpeg gere um arquivo MP4 que não faça com que o botão do idioma do áudio apareça no iPhone? Talvez uma tag de metadados precise ser adicionada ou removida usando a opção -metadata ?

Muito obrigado antecipadamente pela sua ajuda!

    
por TachyonVortex 30.01.2013 / 23:35

0 respostas