Windows 7'de FFMPEG build #: 20131213 adlı bir zerano kullanarak. Bir aac dosyasını bir videoya eklemek ve kodlamakta olduğum dosyanın "Codec ID" sini kullanmaya çalışıyorum. Dosyayı incelemek için MediaInfo kullandığımda girdi dosyamın "mp42" kodek kimliği var; ffmpeg kullanarak dosyayı her kodladığımda çıktı daima "isom" kodek ID'sine sahiptir. "Mp42" nin aynı Codec kimliğini kullanmak istiyorum. 'Msmpeg4v2 "kodeğini kullanabileceğimi düşündüm:
ffmpeg -i prltest2-series_H264_1100k.mp4 -i AAC-128k-audio.aac -vcodec msmpeg4v2 -bsf aac_adtstoasc -acodec copy somefile.mp4
Bu komutu verdiğimde belirten bir hata alıyorum:
[mp4 @ 0417e6e0] track 0: could not find tag, codec not currently supported in container
Output #0, mp4, to 'somefile.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isom
encoder : Lavf55.22.100
Stream #0:0(eng): Video: msmpeg4v2, yuv420p, 768x432 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 29.97 tbc (default)
Metadata:
creation_time : 2013-12-13 18:51:36
handler_name : MP4 Video Media Handler
Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, 123 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> msmpeg4v2)
Stream #1:0 -> #0:1 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): Error number -1 occurred
Çalışır -vcodec parametresini kaldırırsam çalışır, ancak 'msmpeg4v2' listelenir, kullanılabilir bir kodlayıcıdır. Burada yanlış bir şey mi yapıyorum?
Sorunu çözdün mü?
—
Dr.jacky
mp42genel formata uygulanır (gibiisomBu, ISO Base Media Formatıdır) ve kullanılan kodlayıcı ile çok fazla ilgisi yoktur. Yanlış olabilir, girdi dosyanızın nereden geldiğine bağlı olarak Microsoft tuhaflık olabilir.