FFmpeg & iPhone: не отображать кнопку языка аудио


3

Я создаю файл MP4 с FFmpeg 1.1.1 , используя lifeи aevalsrcдля генерации тестового видео и аудио:

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

Если я играю на iPhone под управлением iOS 4.1, появляется кнопка языка аудио (обозначена желтой стрелкой), которая обычно не отображается при воспроизведении других файлов MP4:

видео экран iPhone

Нажатие на эту кнопку вызывает экран звукового языка с единственной опцией «Undefined»:

видеоэкран iPhone, выбор языка аудио

Используя FFprobe для отображения информации о потоке, я вижу "language": "und"тег метаданных в видео и аудио потоках:

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"
            }
        }
    ]
}

Тем не менее, у меня также есть старый файл MP4, содержащий "language": "und"тег метаданных, который не приводит к появлению кнопки языка аудио на iPhone. Поэтому наличие этого тега не является причиной появления кнопки.

Я пытался выяснить, из-за чего кнопка аудио языка отображается для некоторых файлов MP4, но не для других.

Вот вывод FFprobe для этих двух файлов MP4 и их разность:

Может ли разница в compatible_brandsстоимости быть причиной? Это "mp41"когда кнопка не отображается, и "isomiso2avc1mp41"когда кнопка отображается.

Вот вывод MediaInfo для этих двух файлов MP4 и их разница:

Итак, мой вопрос: как я могу заставить FFmpeg генерировать файл MP4, который не приводит к появлению кнопки языка аудио на iPhone? Может быть, тег метаданных нужно добавить или удалить с помощью -metadataопции?

Заранее большое спасибо за вашу помощь!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.