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?