Próbuję zanikać klip wideo na kilka sekund, a ffmpeg wydaje się najlepszym sposobem. Dokumentacja wspomina o opcji zanikania i mam czas pracy w ramkach, ale naprawdę chcę móc używać sekund.
Korzystając z przykładu z dokumentów i dodając następujące elementy do działającego polecenia kodowania:
-vf "fade=t=in:st=5.5:d=0.5"
Dostaję:
[fade @ 0x102f009a0] Option 'st' not found
[AVFilterGraph @ 0x102f00d00] Error initializing filter 'fade' with args 't=in:st=5.5:d=0.5'
Ten sam błąd pojawia się przy użyciu długiego argumentu start_time
Mam ffmpeg w wersji 1.2 i libavfilter 3. 42.103 / 3. 42.103
Używałbym ramek do określenia czasu i czasu zanikania, ale określam długość klipu w sekundach i nie mam pojęcia, jak długo klip będzie w ramkach. Aby określić zanikanie, muszę znać długość w ramkach, a następnie określić czas rozpoczęcia jako num_frames - fade_duration_in_frames
.
Czy ktoś jeszcze dotknął tego problemu?
3. 60.101 / 3. 60.101
którą odzyskałem z Gita 25 kwietnia. Myślę, że to jest twój problem, prawdopodobnie twoja stara wersja libavfilter nie może jeszcze obsłużyć tej opcji?Odpowiedzi:
Używasz starej wersji Libavfilter, w której filtry te nie są jeszcze zaimplementowane. Przetestowałem go z najnowszą wersją libavfilter
3. 60.101 / 3. 60.101
i działa poprawnie. Spróbuj ponownie zbudować FFmpeg przy użyciu bieżącej wersji i powinien on również działać dla Ciebie.źródło
Mam
libavfilter 7. 16.100 / 7. 16.100
ten sam problem zst
istart_time
.Rzeczywistym problemem może nie być
st
lubstart_time
. Sprawdź logi Mam kilka innych problemów związanych z poleceniamifilter_complex
. Na sprawdzeniu dziennika i mocowania go nie dostać nicst
istart_time
pokrewne zagadnieniaźródło