Saya menggunakan ffmpeg
untuk menghasilkan aliran mp4 terfragmentasi yang akan dikonsumsi oleh pemain HTML5. Saya pikir saya memiliki aliran mp4 yang diformat dengan benar dengan kosong moov
di awal dan serangkaian moof+mdat
untuk 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.4d0020
sebagaimana 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_compatiblity
baris perintah di ffmpeg?
sumber