C içinde bir video dosyasının kodunu çözmek için ffmpeg kullanıyorum. Çözmekte olduğum geçerli karenin ya da çerçevenin zaman damgasını almam için mücadele ediyorum. Fps ve kare zaman damgasını temel alarak tahmini bir karenin nasıl hesaplanacağını gösteren çok sayıda yazı okudum, ancak bunlardan herhangi birini alamıyorum.ffmpeg c/C++ kare sayısı veya zaman damgası ve fps olsun
Ben gerekenler: video dosyasının fps, mevcut çerçevenin zaman damgası veya çerçeve hayır (hesaplanmaz) Ben ne
: Ben kullanarak videonun süresini almak mümkün
pFormatCtx->duration/AV_TIME_BASE
Şu anda onları işlediğim kareleri sayıyorum ve geçerli bir kareyi sayıyorum, bu uzun süreli çalışmayacak. ben denedim her dere için çalışmış olmasına rağmen, ben bu bütün akışları için çalışmayabilir okudum
pFormatCtx->streams[currentStream->videoStream]->nb_frames
kullanarak dosya için toplam kare sayısı elde edebilir.
time_base.num ve time_base.den değerlerini ve packageet.pts kullanmayı denedim, ancak bunlardan elde ettiğim değerler hakkında hiçbir fikrim yok, bu yüzden daha iyi olanları anlamanız gerekebilir. değerler.
Bu değerlerin nasıl alınacağı ile ilgili örnekler gösteren herhangi bir kaynak bilen var mı?
Bu cevap kaldırılması için işaretlendi() av_frame_get_best_effort_timestamp aracılığıyla alabilirsiniz bir "en iyi çaba" damgası, bize besler.Bu cevabı genişletebilir misiniz? Böylece, okuyucunun bağlantılı web sayfasına tıklaması gerekmeden soruya bir cevap verir. – josliber
Bir bağlantıdan daha fazlasını sağlamak için bu gerekliliğe uymaya çalışacağım, ancak iki şeye dikkat etmeliyim: İlk olarak, "bu değerleri nasıl alacağına dair örnekleri gösteren kaynaklar" sorusu sorulur. daha uzun bir şey yerine alink; (2) üç yıl önce, cevabın, sorunun cevabın seçilmesinden bu yana ne istediği anlaşılıyordu (SADECE cevaptı. Muhtemelen üç yıl boyunca asıl soru soran ve muhtemelen başka bir ziyaretçiye yardım ediyordu.) – Beel
@Beel ya da uzun bir süredir yardımcı olmuyor, Yığın Taşması'nın [cevap politikası] (https://stackoverflow.com/help/how-to-answer) sadece bir bağlantı sağlayan cevapların eksiksiz cevaplar olmadığını, biçimlendirme ve sadece metin bıraktılar, yine de soruyu cevaplamalılar. –