Bir giriş durursa ffmpeg akışı durdurur


0

Videonun Xvfb'den screengrab ve sesin internet radyosundan (mp3 veya aac akışı) olduğu bir mpeg-ts akışı oluşturmaya çalışıyorum. Oldukça iyi çalışıyor, ancak internet radyosunda bir sorun varsa, o zaman tüm ses kesiliyor, sadece ses değil ve ffmpeg'i öldürüp yeniden başlatana kadar devam etmiyor.

İşte kullanıyorum komut satırı

DISPLAY=:1 ffmpeg -re -video_size 768x576 -framerate 50 -f x11grab -i :1 -i http://internet-radio/mp3 -c:v mpeg2video -b:v 6000k -minrate 6000k -maxrate 6000k -bufsize 3000k -dc 10 -top 0 -f mpegts -c:a mp2 -ac 2 -b:a 192k -flags +ilme+ildct -vf "tinterlace=interleave_top" udp://192.168.0.1:1234?pkt_size=1316

Durmasını engellemenin (ses girişi geri gelene kadar sessizlik üretmesi) ya da en azından başarısız olduğunu tespit etmenin bir yolu var mı, böylece yeniden başlatmak için bir komut dosyası yazabilir miyim?


Yaptığım oldukça kapsamlı araştırmalardan ffmpeg senkronize bir işlem olduğu için girdilerinizden biri durduğunda diğerini okumayı bırakıyor. Tahminim, sesi alacak ve ffmpeg'e iletecek bir tür tamponlama programı yazmak zorunda kalacağınız ve ardından gelen ses durduğunda bu programın otomatik olarak algılayacağı ve bunun yerine sessizliği ffmpeg'e ileteceğinizdir.
Russell Uhl

Yanıtlar:


0

Kullanmayı deneyin apad Akışı belirsiz sessizlikle genişletmek için ses filtresi. Eklemek ya da bir -AF Mevcut dizginize komut verin ...

-vf "[0]tinterlace=interleave_top" -af "[1]apad"

... ya da var olanınızı değiştirin -vf dizeye -filter_complex hem ses hem de video filtreleme komutlarını işlemek için ...

-filter_complex "[0]tinterlace=interleave_top;[1]apad"

Giriş akışı belirticilerin (x11grab için "[0]" ve ses akışı için "[1]") olduğunu unutmayın. olmalı isteğe bağlı, ancak FFmpeg'ün bazı eski sürümleri, belirtilmemişse, kafasını karıştırabilir.

Hiçbir filtre ayarı olduğu gibi çalışmazsa, -en kısa genel çıktı paraşütlerinize işaretleyin (filtre dizesinin bir parçası olarak değil)

-filter_complex "[0]tinterlace=interleave_top;[1]apad" -shortest
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.