2013-05-12 11 views
9

Zastanawiam się, czy możliwe jest narysowanie kanału audio pliku wideo lub audio jako obrazu za pomocą ffmpeg, lub jeśli istnieje inne narzędzie, które zrobi to na Win2k8 x64. Robię to w ramach procesu kodowania po przesłaniu przez użytkownika pliku wideo lub audio.ffmpeg - Czy mogę narysować kanał audio jako obraz?

Używam ColdFusion 10 do obsługi wysyłania i wywoływania cfexecute do uruchamiania ffmpeg.

muszę obraz, aby wyglądać tak (bez linii poziomych):

enter image description here

+1

Narzędzie ['wav2png'] (https://github.com/beschulz/wav2png) wydaje się być wykonane dokładnie w tym celu. Podłączasz plik WAV i dostajesz obraz PNG. Ale tylko Linux i OS X tylko. – slhck

+0

Wygląda na to, że wave2png może się kompilować w systemie Windows. Mój świat C++ ma na całym świecie sieci cob. Zastanawiam się, czy ktoś miał szczęście w tym. Jednak wymaga pliku .wav, który prawdopodobnie można utworzyć za pomocą ffmpeg. Niepewny. – Redtopia

+2

Możesz pobrać plik WAV z dowolnego wejścia za pomocą 'ffmpeg -i input output.wav'. – slhck

Odpowiedz

10

Można to zrobić programowo bardzo łatwo.

Studiuj podstawy FFmpeg. Proponuję skompilowanie this sample. Wyjaśnia, jak otworzyć wideo/audio, zidentyfikować strumienie i zapętlić pakiety.

Gdy już masz pakiet danych (w tym przypadku jesteś zainteresowany tylko pakietami audio). Będziesz ją dekodować (linia 87 tego dokumentu) i uzyskać surowe dane audio. To sama fala (analogiczna "bitmapa" dla dźwięku).

Można również studiować this sample. Ten drugi przykład to, jak napisać plik wideo/audio. Nie chcesz pisać żadnego filmu, ale z tym przykładem możesz łatwo zrozumieć, jak działa pakiet danych audio, jeśli zobaczysz funkcje get_audio_frame() i write_audio_frame().

Musisz mieć wiedzę na temat tworzenia bitmapy. Każda platforma ma łatwy sposób na zrobienie tego.

Tak, odpowiedź dla Ciebie: TAK, TO MOŻLIWE ZROBIĆ TO Z FFMPEG! Ale trzeba kodować trochę, aby uzyskać to, co chcesz ...

UPDATE:

Niestety, istnieją również wbudowane funkcje to:

Można użyć tych filtry ... lub

showspectrum, showwaves, avectorscope

Oto niektóre ex jak go używać: FFmpeg Filters - 12.22 showwaves.

+1

Dzięki! Świetna perspektywa i dobre linki! – Redtopia