Saya menggunakan ffmpeguntuk menghasilkan aliran mp4 terfragmentasi yang akan dikonsumsi oleh pemain HTML5. Saya pikir saya memiliki aliran mp4 yang diformat dengan benar dengan kosong moovdi awal dan serangkaian moof+mdatuntuk fragmen video. Yang saya macet adalah dengan codec yang diterima oleh Chrome.

chrome: // media-internal mengatakan ini:

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

Dari mana saya mengumpulkan masalahnya adalah dengan data yang dikodekan, yang harus di avc1.4d0020sebagaimana ditentukan dalam javascript.

Saya telah melihat jawaban untuk https://stackoverflow.com/questions/16363167/html5-video-tag-codecs-attribute , yang memberitahu saya bahwa saya perlu mengatur ulang profile_compatibility, tetapi saya tidak dapat menemukan opsi untuk melakukan itu.

Inilah baris perintah yang saya gunakan (pipa dibaca dan dikirim ke halaman web menggunakan soket web):

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

Jadi pertanyaannya adalah, dapatkah saya mengatur profile_compatiblitybaris perintah di ffmpeg?

Pablo Montilla
sumber