LINUX.ORG.RU

ffplay & ffmpeg

 ,


1

1

Хочу транслировать mp3, но не получается. Запущен ffplay так:

ffplay udp://localhost:8000 -f mp3

После запуска какбэ ждет когда на него придет поток:

FFplay version SVN-r0.5.9-4:0.5.9-0ubuntu0.10.04.1, Copyright (c) 2003-2009 Fabrice Bellard, et al.
  configuration: --extra-version=4:0.5.9-0ubuntu0.10.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Jun 12 2012 16:27:59, gcc: 4.4.3

Потом я запускаю:

ffmpeg -i /home/user/Music/2.mp3 -f mp3 udp://localhost:8000
FFmpeg version SVN-r0.5.9-4:0.5.9-0ubuntu0.10.04.1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --extra-version=4:0.5.9-0ubuntu0.10.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Jun 12 2012 16:27:59, gcc: 4.4.3
Input #0, mp3, from '/home/vova/Music/2.mp3':
  Duration: 00:03:30.72, start: 0.000000, bitrate: 320 kb/s
    Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 320 kb/s
Output #0, mp3, to 'udp://localhost:8000':
    Stream #0.0: Audio: libmp3lame, 44100 Hz, stereo, s16, 64 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop encoding
size=    1647kB time=210.76 bitrate=  64.0kbits/s    
video:0kB audio:1647kB global headers:0kB muxing overhead 0.001898%

Буфферизация есть, а звука нет.

Ответ на: комментарий от Quadmonster

Попробовал, с udp транслируется, но в плеере не играет, mplayer говорит No stream found to handle url rtp://localhost:1234. Команда была такая:

avconv -i 'file:///home/brainfucker/Desktop/TMP/Audio/Pirate-revival-15.6.2012_2.mp3' -acodec copy -f mp3 rtp://localhost:1234
Помимо mp3 попробовал и другие форматы, например flv и matroska (они вроде для стриминга лучше подходят).
А вот с таким вариантом звук в VLC был, но с выпадениями, слушать невозможно:
avconv -i 'file:///home/brainfucker/Desktop/TMP/Audio/Pirate-revival-15.6.2012_2.mp3' -acodec copy -f rtp rtp://localhost:1234
Так что либо Icecast, либо транслировать с помощью VLC (он умеет вроде по UDP и RTP)

ЗЫ: avconv это форк ffmpeg.

firestarter ★★★☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.