1 (edytowany przez jzef 2016-09-13 10:03:48)

Temat: Odbiór strumienia audio z arecord na Windows

Na Linux'ie nie ma problemu i odbiór strumienia z OpenWrt zrobimy tak:

ssh root@192.168.1.1 arecord -f S16_LE -r 44100 | aplay -f S16_LE

Trzeba tylko zainstalować alsa-utils i działa super i to nawet razem z serwerem MJPG-streamer smile

Okazało się iż w Windows nie jest to już takie proste ale możliwe. Można odbierać strumień np. za pomocą programu VLC Media Player przez SSH. Oto gotowy przepis:

Na OpenWrt:

  • instalujemy sterowniki karty dźwiękowej (w przypadku kamery z mikrofonem kmod-usb-audio i kmod-sound-core) i pakiet alsa-utils który zawiera program arecord

  • dodajemy grupę audio (chyba działa i bez dodawania tej grupy):
    echo "audio:x:1000:" >> /etc/group

Na Windows:

  • instalujemy klienta SSH np. OpenSSH OpenSSH (wystarczy sam klient)

  • instalujemy VLC Media Player (ja testowałem wersję VLC 2.1.3 64-bit na WinXP 64-bit

  • odpalamy linię poleceń cmd i przechodzimy do folderu gdzie mamy zainstalowany VLC

  • odpalamy pobieranie strumienia z OpenWrt 192.168.1.1:
    ssh root@192.168.1.1 arecord -f S16_LE -r 44100 | vlc -

  • podajemy hasło użytkownika root

  • i VLC powinien rozpocząć odtwarzanie strumienia smile

http://savepic.net/8400934m.png

Głośność mikrofonu można regulować za pomocą polecenia:

alsamixer --view=all

http://savepic.net/8426553m.png

Jak wciśniemy STOP a później PLAY w VLC to już nie zadziała i trzeba zamknąć VLC, zatrzymać polecenie w CMD (Ctrl+C) i wykonać ponownie.

Aby nagrać strumień do pliku C:\file.wav:

ssh root@192.168.1.1 arecord -f S16_LE -r 44100 | vlc - --sout="#std{access=file,dst='C:\file.wav'}"

Można też w VLC włączyć w menu Widok -> Zaawansowane kontrole i wtedy mamy dostępny przycisk Record - dzięki niemu możemy w każdej chwili włączyć/wyłączyć nagrywanie do pliku WAV bez przerywania odtwarzania.

2

Odp: Odbiór strumienia audio z arecord na Windows

a pod osx jak uruchomic ?

3

Odp: Odbiór strumienia audio z arecord na Windows

roratoga napisał/a:

a pod osx jak uruchomic ?

VLC i Terminal z SSH jest też dla Mac'a - próbuj tak samo jak w Windows:

ssh root@192.168.1.1 arecord -f S16_LE -r 44100 | vlc -

4 (edytowany przez roratoga 2017-01-12 15:33:31)

Odp: Odbiór strumienia audio z arecord na Windows

dzwieku brak
w konsoli pokazuje sie tylko to
Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono

5

Odp: Odbiór strumienia audio z arecord na Windows

A VLC Media Player zainstalowałeś? Musisz przejść w Terminalu do katalogu VLC i z tej lokalizacji wykonać polecenie.

6 (edytowany przez roratoga 2017-01-12 16:36:33)

Odp: Odbiór strumienia audio z arecord na Windows

vlc zainstalowany
niestety nie dziala
robie tak
odpalam terminal
wpisuje
cd Applications
i tu wpisuje
ssh root@10.0.1.1 arecord -f S16_LE -r 44100 | vlc -
po wpisaniu hasla mam
Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono

i to tyle

7

Odp: Odbiór strumienia audio z arecord na Windows

Daj zrzut ekranu gdzie wpisujesz polecenie. Uruchamia Ci się VLC po wykonaniu polecenia?
Wiesz co to jest katalog roboczy programu? Masz przejść do niego czyli do katalogu gdzie masz plik programu vlc a nie do Applications
Mac OS X VLC
Zdaje się iż domyślnie jest to katalog:

/Applications/VLC.app/Contents/MacOS/VLC

8

Odp: Odbiór strumienia audio z arecord na Windows

Zmylil mnie wpis jaki jest w pierwszym poście
Sprawdzę jak będę w domu

9

Odp: Odbiór strumienia audio z arecord na Windows

wpisanie w terminalu
/Applications/VLC.app/Contents/MacOS/VLC
powoduje uruchomienie vlc
nastepnie wpisanie
ssh root@10.0.1.1 arecord -f S16_LE -r 44100 | vlc -
nie daje żadnej reakcji

10 (edytowany przez jzef 2017-01-13 15:44:02)

Odp: Odbiór strumienia audio z arecord na Windows

- odpalasz Terminal
- przechodzisz w nim do katalogu programu VLC Media Player (w DOS, Windows i Linux służy do tego polecenie cd więc zapewne i w OS X tak samo się zmienia katalogi):

cd /Applications/VLC.app/Contents/MacOS/VLC

- będąc w katalogu programu odpalasz polecenie:

ssh root@192.168.1.1 arecord -f S16_LE -r 44100 | vlc -

i powinien uruchomić Ci się VLC ale w oknie terminalu musisz jeszcze podać hasło do OpenWrt aby się zalogować. Oczywiście adres IP podajesz też swojego OpenWrt.

Ewentualnie podaj pełną ścieżkę do programu w poleceniu:

ssh root@192.168.1.1 arecord -f S16_LE -r 44100 | "pełna ścieżka do VLC" -

11

Odp: Odbiór strumienia audio z arecord na Windows

niestety nie dziala
odpalam terminal
wpisuje
cd /Applications/VLC.app/Contents/MacOS/VLC
i mam
-bash: cd: /Applications/VLC.app/Contents/MacOS/VLC: Not a directory
vlc nie uruchamia sie
jak wpisze tylko
/Applications/VLC.app/Contents/MacOS/VLC
to vlc rusza

12

Odp: Odbiór strumienia audio z arecord na Windows

Spróbuj tak:

cd /Applications/VLC.app/Contents/MacOS
ssh root@192.168.1.1 arecord -f S16_LE -r 44100 | vlc -

lub tak:

ssh root@192.168.1.1 arecord -f S16_LE -r 44100 | "/Applications/VLC.app/Contents/MacOS/vlc" -

Oczywiście wpisz swój IP OpenWrt.

13

Odp: Odbiór strumienia audio z arecord na Windows

ssh root@10.0.1.1 arecord -f S16_LE -r 44100 | "/Applications/VLC.app/Contents/MacOS/vlc" -
VLC media player 2.2.4 Weatherwax (revision 2.2.4-3-g2fc51dd)
[000000010052af88] core libvlc error: No plugins found! Check your VLC installation.
root@10.0.1.1's password:
Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono

14

Odp: Odbiór strumienia audio z arecord na Windows

Spróbuj wyeksportować ścieżkę katalogu pluginów i ewentualnie restartuj system:

export VLC_PLUGIN_PATH=/usr/local/lib/vlc/plugins/

i teraz odpal:

ssh root@10.0.1.1 arecord -f S16_LE -r 44100 | "/Applications/VLC.app/Contents/MacOS/vlc" -

U mnie działa smile :
http://savepic.net/8781863m.png

15

Odp: Odbiór strumienia audio z arecord na Windows

niestety  ciagle nic
cos jest nie tak z core libvlc
jakis error

16

Odp: Odbiór strumienia audio z arecord na Windows

znalazlem problem
zainstalowalem starsza wersje vlc  i ruszylo
ssh root@10.0.1.1 arecord -f S16_LE -r 44100 | "/Applications/VLC.app/Contents/MacOS/vlc" -
dzieki za cierpliwosc

17

Odp: Odbiór strumienia audio z arecord na Windows

Witam jeszcze raz
Czy na telefonie z androidem tez działa ten sposób ?

18

Odp: Odbiór strumienia audio z arecord na Windows

roratoga napisał/a:

Witam jeszcze raz
Czy na telefonie z androidem tez działa ten sposób ?

Najlepiej jak sam sprawdzisz i napiszesz na forum jak to zrobiłeś smile

19 (edytowany przez jzef 2018-08-25 19:27:54)

Odp: Odbiór strumienia audio z arecord na Windows

Aby nie wprowadzać hasła za każdym razem można wygenerować publiczny klucz RSA id_rsa.pub na komputerze z którego chcemy się logować i skopiować ten klucz na OpenWrt:

- na Windows z zainstalowanym OpenSSH wchodzimy w CMD i generujemy klucz bez passphrase:

ssh-keygen -t rsa

- kopiujemy plik z %userprofile%\.ssh na OpenWrt do /etc/dropbear
- dodajemy plik z kluczem do pliku autoryzowanych kluczy - jeśli go jeszcze nie ma zostanie utworzony:

cat id_rsa.pub >> authorized_keys

- usuwamy niepotrzebny plik .pub:

rm id_rsa.pub

Pomocny post: klucze ssh

20

Odp: Odbiór strumienia audio z arecord na Windows

Próbuję odbierać strumień na smartfonie Android przez Wifi. Na OpenWrt zainstalowałem netcat bo domyślny jest chyba okrojony. Z laptopa przez Putty odpaliłem strumień na pocie 7000:

arecord -f S16_LE -r 44100 | nc -l -p 7000

Na smartfonie zainstalowałem PulseDroid
Po podaniu IP i portu 7000 klikam Play i jest dźwięk ale niewyraźny - chrobocze i jakby odtwarzany w przyspieszonym tempie.

Czemu tak się dzieje?

Jak inaczej odebrać ten strumień niż za pomocą PulseDroid?

Na smartfonie mam zainstalowany też VLC i ładnie odtwarza np. obraz z MJPG-streamer'a odpalonego na OpenWrt. Smartfon zrootowany. Skoro VLC działa OK to może wystarczy tylko jakiś klient SSH na Android i wówczas odtwarzanie byłoby możliwe za pomocą tego samego polecenia co w Windows?

21 (edytowany przez ad2014 2018-12-28 12:54:45)

Odp: Odbiór strumienia audio z arecord na Windows

spróbuj ConnectBot na androida - klijent ssh   ,  być moze pobaw sie przełacznikiem -r  , kiedys miałem kamerkę z dzwiekiem to ustawiałem na 16000

22 (edytowany przez jzef 2018-12-28 18:15:45)

Odp: Odbiór strumienia audio z arecord na Windows

Udało mi się tylko odpalić odtwarzanie pliku .mp4 w VLC z karty SD lokalnie z poziomu aplikacji Terminal Emulator lub zdalnie przez SSH gdy odpalę na smartfonie serwer SSHDroid (wtedy wpisywanie tekstu jest łatwiejsze niż w Terminal Emulator bo mamy normalną klawiaturę w PC):

am start -a android.intent.action.MAIN -n org.videolan.vlc/org.videolan.vlc.gui.video.VideoPlayerActivity -d file:///sdcard/DCIM/Camera/20181228_123933.mp4

Jak zrobię tak przez SSH (Windows -> Putty SSH przez USB tethering do smartfona Android -> ssh do OpenWrt przez Wifi) IP 192.168.0.1 to router OpenWrt:

ssh root@192.168.0.1 arecord -f S16_LE -r 44100 | am start -a android.intent.action.MAIN -n org.videolan.vlc/org.videolan.vlc.gui.video.VideoPlayerActivity

to pojawia się pytanie o hasło do użytkownika root OpenWrt i zanim podam hasło odpala program VLC i odtwarzanie ostatnio otwartego pliku z karty SD a po podaniu hasła odpala tylko arecord na OpenWrt

Widać iż składnia jest poprawna tylko nie wiem jaki przełącznik zastosować aby VLC odpalał stdin czy stdout bo o to chyba chodzi. W VLC Windows lub MacOS jest to po prostu znak - (minus)

P.S. Terminal Emulator nie posiada klienta SSH. Wiem, że aby nie pytał o hasło musiałbym wygenerować na Androidzie klucz RSA i skopiować na OpenWrt tylko nie mam nigdzie polecenia ssh-keygen

23

Odp: Odbiór strumienia audio z arecord na Windows

witam
podłączyłem kamerkę do netgara 4300 i działa elegancko ale gdy chcę uruchomić dźwięk po instalacji sterowników z pierwszego postu kamera przestaje być widoczna
co może być przyczyną tego konfliktu ?