1

I'm using ffmpeg to generate a fragmented mp4 stream that will be consumed by an HTML5 player. I think I have a correctly formatted mp4 stream of data with an empty moov at the start and a series of moof+mdat for the video fragments. What I'm stuck is with the codec that's being received by Chrome.

chrome://media-internals has this to say:

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

From which I gather the problem is with the encoded data, which should be in avc1.4d0020 as its specified in the javascript.

I've seen the answer to https://stackoverflow.com/questions/16363167/html5-video-tag-codecs-attribute, which tells me I need to reset profile_compatibility, but I couldn't find an option to do that.

Here's the command line I'm using (the pipe is read and sent to the web page using web sockets):

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

So the question is, can I set the profile_compatiblity in the ffmpeg command line?

0

You must log in to answer this question.

Browse other questions tagged .