Bir konuşmanın videosunu kelimelerle otomatik olarak bölmem gerekiyor, bu nedenle her sözcük ayrı bir video dosyasıdır. Bunu yapmanın herhangi bir yolunu biliyor musun? Planım sessiz parçaları tespit etmek ve bunları sözcük ayırıcıları olarak kullanmaktı. Ama bunu yapmak için herhangi bir araç bulamadım ve ffmpeg'in bunun için uygun bir araç olmadığını düşünüyorum.Sessiz parçalar ile video veya ses bölme
12
A
cevap
8
Önce Bu şuna benzer okumalar ile konsol çıktısını üretecek bu
ffmpeg -i "input.mov" -af silencedetect=noise=-30dB:d=0.5 -f null - 2> vol.txt
gibi, sessizlik aralıklarını tespit etmek için ffmpeg kullanabilirsiniz: Daha sonra ayrılmaya komutları oluşturmak
[silencedetect @ 00000000004b02c0] silence_start: -0.0306667
[silencedetect @ 00000000004b02c0] silence_end: 1.42767 | silence_duration: 1.45833
[silencedetect @ 00000000004b02c0] silence_start: 2.21583
[silencedetect @ 00000000004b02c0] silence_end: 2.7585 | silence_duration: 0.542667
[silencedetect @ 00000000004b02c0] silence_start: 3.1315
[silencedetect @ 00000000004b02c0] silence_end: 5.21833 | silence_duration: 2.08683
[silencedetect @ 00000000004b02c0] silence_start: 5.3895
[silencedetect @ 00000000004b02c0] silence_end: 7.84883 | silence_duration: 2.45933
[silencedetect @ 00000000004b02c0] silence_start: 8.05117
[silencedetect @ 00000000004b02c0] silence_end: 10.0953 | silence_duration: 2.04417
[silencedetect @ 00000000004b02c0] silence_start: 10.4798
[silencedetect @ 00000000004b02c0] silence_end: 12.4387 | silence_duration: 1.95883
[silencedetect @ 00000000004b02c0] silence_start: 12.6837
[silencedetect @ 00000000004b02c0] silence_end: 14.5572 | silence_duration: 1.8735
[silencedetect @ 00000000004b02c0] silence_start: 14.9843
[silencedetect @ 00000000004b02c0] silence_end: 16.5165 | silence_duration: 1.53217
her bir sessizlik bir sonraki sessizlik başlangıcına dönüşür. Muhtemelen bu yüzden
ffmpeg -ss <silence_end - 0.25> -t <next_silence_start - silence_end + 0.25> -i input.mov word-N.mov
Sen konsol günlüğünü kazımak için bir senaryo yazmak isteyeceksiniz
(I ses/video parametrelerini belirterek atlandı gelmiş), 250 ms, diyelim ki, bazı kolları eklemek isteyeceksiniz ve zaman kodlarıyla yapılandırılmış (belki CSV) bir dosya oluştur - her satırdaki bir çift: silence_end ve bir sonraki silence_start. Ve sonra her sayı çiftiyle komutları üretmek için başka bir betik.
İlgili konular
- 1. Ses çal telefon sessiz mod
- 2. HTML Sessiz hale gelene kadar ses kaydı?
- 3. WP7 Ses/video dosya seçicisi
- 4. pandas serilerinde toplama veya bölme için toplama veya bölme alternatifi
- 5. Konuşma ses dosyasını python'daki sözcüklere bölme
- 6. Html Video oynatıcısı ses oynatır, ancak video oynatmaz
- 7. Android'de ses dosyası nasıl kesilir ve video dosyası ile birleştirilir?
- 8. Ses ve video parçalarını yeni MediaStream
- 9. MediaPlayer'a anında ses/video şifresini çözme
- 10. Videoyu duraklatmak html5 video etiketinde ses durmuyor
- 11. Python kullanarak video dosyasından ses nasıl çıkarılır?
- 12. Neden ses ve video etkinlikleri kabarcıklanmıyor?
- 13. iOS: Airplay'den Ses ve Video bağlantısı
- 14. Boru video ve ses ffmpeg'den OpenRTSP'den
- 15. python'da wav dosyası bölme
- 16. video yüklenirken veya JavaScript
- 17. Authorize.net ile Sessiz Gönderiyi Test Etme
- 18. Örnek: "Javascript - İyi Parçalar"
- 19. Parçalar "Kurdeşen" için
- 20. iMessage App Video İleti birimi çalışmıyor
- 21. python pip sessiz yükleme
- 22. Görüntü ve ses uzunluğundan itibaren FFmpeg videosu
- 23. MSIEXEC qn ile sessiz arasındaki fark nedir
- 24. Parçalar arasında kod paylaş
- 25. Android'de Dinamik Parçalar
- 26. ARI JS istemcisi sessiz hatası
- 27. Slack özel entegrasyonlu video veya ses oynatıcı yarat ... Youtube entegrasyonuna benzer
- 28. Tmux penceresi veya bölme adı, GNOME Terminali
- 29. HTTPServer ve BasicHTTPRequestHandler'in stderr çıkışı nasıl sessiz/sessiz yapılır?
- 30. iOS Yerel Bas Bildirimi Susturma Sessiz/Sessiz Modu
Oneliner olarak: "ffmpeg -i input.mkv -filter_complex" [0: a] silencedetect = n = -90dB: d = 0,3 [outa] "-map [outa] -f s16le -y/dev/null | & F = '- aq 70 -v uyarı' perl -ne 'INIT {$ ss = 0; $ Se = 0; } if (/ silence_start: (\ S +) /) {$ ss = 1 $; $ TO + = 1 'dir; printf "ffmpeg -nostdin -i input.mkv -ss% f -t% f $ ENV {F} -y% 03d.mkv \ n", $ se, ($ ss- $ se), $ ctr; } if (/ silence_end: (\ S +) /) {$ se = $ 1; } END {printf "ffmpeg -nostdin -i input.mkv -ss% f $ ENV {F} -y% 03d.mkv \ n", $ se, $ ctr + 1; } '| bash -x' –
Bu tek liner mac üzerinde çalışmıyor. -bash: beklenmedik belirtecin yanında 'sözdizimi hatası' & ' –
@JohnSmith, Mac'in varsayılan olarak eski (pre-4) bash'ı var. '| &' Ile '' 2> & 1 | 'arasında değiştirin. –