Bir videoyu (benimki) bir kullanıcıdan bir başkasıyla (o yükleyerek) eşleştirip kullanıcıya geri döndürmek için bir hizmet geliştiriyorum.
Önce Concat demuxer'ı kullanmaya çalıştım, çünkü gerekmediğinde videoları yeniden kodlamak istemiyorum. Aynı codec bileşeniyle videoları hemen hemen uyumlu hale getirmesi gerekiyordu.
Kullanıcılar farklı codec bileşenleriyle farklı videolar yükleyebilir, bu yüzden o videoyu belirli bir codec bileşenine dönüştürmem gerekecek. Şu anki sorunum, aynı kodek konsatına sahip videolara sahip olmanın bile iyi çalışmadığı, bu yüzden başka neye ihtiyaç duyulduğunu bilmek istiyorum.
Mylist.txt
file './myVideo1.mp4'
file './userVideo1.mp4'
Komut:
ffmpeg -f concat -i mylist.txt -c copy mergedVideo.mp4
İşe yaramadı çünkü farklı ses kodekleri (pcm_u8 vs aac) vardı, böylece myVideo1
sesi aac'a dönüştürdüm ;
ffmpeg -i myVideo1.mp4 -map 0:0 -map 0:1 -acodec libfaac -vcodec copy myVideo1_aac.mp4
Bu bir ara görevdi, şunu söyledim çünkü bir uyarı aldım :
Akış 0 için kodek, genel başlıklar kullanmaz, ancak kap biçimi genel başlıklar gerektirir.
Bu noktada aynı ses ve kode sahip iki video var, ayrıntıları görelim:
Daha önce olduğu gibi videoları gizlemeye çalıştım ...
ffmpeg -f concat -i mylist.txt -c copy mergedVideo.mp4
... ve hiçbir hata gösterilmedi , ancak videoyu oynattığımda ilk videoyu normal gördüm, ancak 2. süper yavaştı, saniyede sadece birkaç kare vardı, aslında birleşmeVideo.mp4 39 saniye sürdüğünde 4 dakika 34 saniyeye sahipti ( 5.38 + 33.79).
İşte birleştirilmişVideo.mp4 bilgisi:
Bana neyin yanlış olduğunu söyleyebilir misin?