MJPEG kod çözücünün kodunu incelemek istiyorum. Kod çözücünün çalıştırma komutlarını kullanarak ve ardından hangi dosyanın kod çözme görevini gerçekleştirdiğini belirlemeye çalışıyorum.
Aşağıdaki komutu çalıştırdım:
ffmpeg -r 10 -i heli.mjpg -vcodec copy newheli.avi
Aşağıdaki çıktıyı üretti:
[avi @ 0x1818040] Non-monotonous DTS in output stream 0:0; previous: 372, current: 149; changing to 373. This may result in incorrect timestamps in the output file.
[avi @ 0x1818040] Non-monotonous DTS in output stream 0:0; previous: 373, current: 150; changing to 374. This may result in incorrect timestamps in the output file.
....
....
....
....
....
....
[avi @ 0x1818040] Non-monotonous DTS in output stream 0:0; previous: 536, current: 215; changing to 537. This may result in incorrect timestamps in the output file.
[avi @ 0x1818040] Non-monotonous DTS in output stream 0:0; previous: 537, current: 215; changing to 538. This may result in incorrect timestamps in the output file.
[avi @ 0x1818040] Non-monotonous DTS in output stream 0:0; previous: 538, current: 216; changing to 539. This may result in incorrect timestamps in the output file.
[avi @ 0x1818040] Non-monotonous DTS in output stream 0:0; previous: 539, current: 216; changing to 540. This may result in incorrect timestamps in the output file.
[avi @ 0x1818040] Non-monotonous DTS in output stream 0:0; previous: 540, current: 216; changing to 541. This may result in incorrect timestamps in the output file.
frame= 542 fps=0.0 q=-1.0 Lsize= 2720kB time=00:00:54.20 bitrate= 411.1kbits/s
video:2701kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.686601%
Çıktının başlangıç kısmı görünmez. Hangi .c dosyasının MJPEG kod çözme işlemi yaptığını nasıl bulabilirim? Onu nasıl izole edebilirim, .c üzerinde değişiklikler yapabilir ve sonra çalıştırabilirim?
DÜZENLE:
İdeal olarak, MJPEG Kod Çözücüsünün kodunu Qt gibi bir IDE'ye aktarmak ve buradaki kodu analiz etmek istiyorum. MJPEG kod çözücüyü orada nasıl çalıştırabileceğimi anlamak için mücadele ediyorum.
@quixotic Cevap için teşekkür ederiz. Yerel olarak derleyerek
—
a_sid
ffmpeg
ne demek istiyorsunuz ? Koşabiliyorum ffmpeg
ve bu zaten derlediğim için. Buna pek aşina değilim, bu yüzden sorumun çok basit olması durumunda lütfen afedersiniz.
Yazılım önceden oluşturulmuş ikili dosyalardan yüklendiğinde, paketleyici hata ayıklama sembollerini çalıştırılabilir dosyadan çıkardı. Bu, yerden tasarruf sağlar ancak hata ayıklayıcıları daha az netleştirir.
—
quixotic
ffmpeg
onları almak için yeniden derlemeniz gerekebilir ; komut dosyasını --disable-stripping
yeniden çalıştırdığınızda bayrağı kullanın configure
.
@quixotic Yardımlarınız için teşekkürler. Ben komutu çalıştırdım. Bunu, MJPEG kod çözücünün kodunu Qt'ye aktarmak ve ardından mjpeg dosyalarının kodunu çözmek için nasıl kullanabilirim?
—
a_sid
gdb
) çalıştırmaktır. çalıştırılabilir bir hata ayıklama uygulamasına ihtiyacınız olacak; bir-dbg
paketin kurulmasını veyaffmpeg
yerel olarak derlenmeyi içerebilecek platforma bağlı olarak.