Я использую ffmpeg
для генерации фрагментированного потока mp4, который будет использоваться проигрывателем HTML5. Я думаю, что у меня есть правильно отформатированный поток данных mp4 с пустым moov
в начале и серией moof+mdat
для фрагментов видео. Я застрял в кодеке, который получает Chrome.
Chrome:// Media-internals имеет это сказать:
00:00:00 00 pipeline_state kCreated
00:00:00 00 EVENT PIPELINE_CREATED
00:00:00 00 EVENT WEBMEDIAPLAYER_CREATED
00:00:00 00 url blob:http%3A//localhost/3388b7f1-5567-4d76-a585-0b247affd16a
00:00:00 00 pipeline_state kInitDemuxer
00:00:07 68 error Video codec: avc1.4d4020
Из чего я понимаю, проблема с закодированными данными, которые должны быть в avc1.4d0020
как указано в JavaScript.
Я видел ответ на https://stackoverflow.com/questions/16363167/html5-video-tag-codecs-attribute, который говорит мне, что мне нужно сбросить profile_compatibility
, но я не смог найти вариант для этого.
Вот командная строка, которую я использую (канал читается и отправляется на веб-страницу с помощью веб-сокетов):
ffmpeg -re -i Input.mp4 -map 0:0 -y -c:v libx264 -preset veryslow -x264opts intra-refresh=1 -tune psnr -refs 1 -b:v 1500k -bf 0 -g 8 -b-pyramid none -f mp4 -movflags empty_moov+omit_tfhd_offset+frag_keyframe -frag_duration 1000000 -profile:v main -level 3.2 -iods_video_profile 0 -flags +loop \\.\pipe\FeedPipe
Итак, вопрос в том, могу ли я установить profile_compatiblity
в командной строке ffmpeg?