[FFmpeg-user] ffmpeg to stream webcam to http:// and file?

Alec Taylor alec.taylor6 at gmail.com
Tue Dec 5 21:40:12 EET 2017


Posting full output below. Thanks.

As for the ffserver.conf; I am using an unaltered
http://ffmpeg.org/sample.html

$ ffmpeg -f avfoundation -framerate 30 -i "FaceTime HD Camera":"Built-in
Microphone" http://0.0.0.0:8090/stream0.webm
ffmpeg version N-89395-g71421f382f Copyright (c) 2000-2017 the FFmpeg
developers
  built with Apple LLVM version 9.0.0 (clang-900.0.38)
  configuration: --enable-gpl --enable-version3 --enable-sdl2
--enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv
--enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame
--enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy
--enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx
--enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265
--enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp
--enable-libvidstab --enable-libvorbis --enable-appkit
--enable-avfoundation --enable-coreimage --enable-audiotoolbox
  libavutil      56.  5.100 / 56.  5.100
  libavcodec     58.  6.102 / 58.  6.102
  libavformat    58.  2.103 / 58.  2.103
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  6.100 /  7.  6.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
  libpostproc    55.  0.100 / 55.  0.100
[avfoundation @ 0x7fb8ca800000] Selected pixel format (yuv420p) is not
supported by the input device.
[avfoundation @ 0x7fb8ca800000] Supported pixel formats:
[avfoundation @ 0x7fb8ca800000]   uyvy422
[avfoundation @ 0x7fb8ca800000]   yuyv422
[avfoundation @ 0x7fb8ca800000]   nv12
[avfoundation @ 0x7fb8ca800000]   0rgb
[avfoundation @ 0x7fb8ca800000]   bgr0
[avfoundation @ 0x7fb8ca800000] Overriding selected pixel format to use
uyvy422 instead.
Input #0, avfoundation, from 'FaceTime HD Camera:Built-in Microphone':
  Duration: N/A, start: 12125.179728, bitrate: N/A
    Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422, 1280x720, 30
tbr, 1000k tbn, 1000k tbc
    Stream #0:1: Audio: pcm_f32le, 44100 Hz, stereo, flt, 2822 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> vp9 (libvpx-vp9))
  Stream #0:1 -> #0:1 (pcm_f32le (native) -> opus (libopus))
Press [q] to stop, [?] for help
[libopus @ 0x7fb8c90e5e00] No bit rate set. Defaulting to 96000 bps.
[libvpx-vp9 @ 0x7fb8c90e4c00] v1.6.1
Output #0, webm, to 'http://0.0.0.0:8090/stream0.webm':
  Metadata:
    encoder         : Lavf58.2.103
    Stream #0:0: Video: vp9 (libvpx-vp9), yuv422p, 1280x720, q=-1--1, 200
kb/s, 30 fps, 1k tbn, 30 tbc
    Metadata:
      encoder         : Lavc58.6.102 libvpx-vp9
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: opus (libopus), 48000 Hz, stereo, flt, 96 kb/s
    Metadata:
      encoder         : Lavc58.6.102 libopus
av_interleaved_write_frame(): Broken pipe time=00:00:01.40 bitrate=
0.0kbits/s speed=2.74x
Error writing trailer of http://0.0.0.0:8090/stream0.webm: Broken pipe
frame=   25 fps=0.7 q=0.0 Lsize=       1kB time=00:00:01.74 bitrate=
3.3kbits/s speed=0.05x
video:7kB audio:13kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown
Conversion failed!

$ ffserver -f ~/repos/stereostream/stereostream-scripts/ffserver.conf
ffserver version 3.4 Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 9.0.0 (clang-900.0.37)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4 --enable-shared
--enable-pthreads --enable-version3 --enable-hardcoded-tables
--enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl
--enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl
--enable-videotoolbox --disable-lzma
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
ffserver.conf:4: Port option is deprecated. Use HTTPPort instead.
ffserver.conf:8: BindAddress option is deprecated. Use HTTPBindAddress
instead.
ffserver.conf:29: NoDaemon option has no effect. You should remove it.
ffserver.conf:167: Setting default value for video bit rate tolerance =
21333. Use NoDefaults to disable it.
ffserver.conf:167: Setting default value for video rate control equation =
tex^qComp. Use NoDefaults to disable it.
ffserver.conf:167: Setting default value for video max rate = 128000. Use
NoDefaults to disable it.
ffserver.conf:222: Setting default value for audio sample rate = 22050. Use
NoDefaults to disable it.
ffserver.conf:222: Setting default value for audio channel count = 1. Use
NoDefaults to disable it.
ffserver.conf:222: Setting default value for video bit rate tolerance =
64000. Use NoDefaults to disable it.
ffserver.conf:222: Setting default value for video rate control equation =
tex^qComp. Use NoDefaults to disable it.
ffserver.conf:222: Setting default value for video max rate = 512000. Use
NoDefaults to disable it.
Wed Dec  6 06:36:47 2017 Codecs do not match for stream 0
Wed Dec  6 06:36:47 2017 [ffm @ 0x7f998a000400]Using AVStream.codec to pass
codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Wed Dec  6 06:36:47 2017 [ffm @ 0x7f998a000400]Using AVStream.codec to pass
codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Wed Dec  6 06:36:47 2017 [ffm @ 0x7f998a000400]Using AVStream.codec to pass
codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Wed Dec  6 06:36:47 2017 [ffm @ 0x7f998a000400]Using AVStream.codec to pass
codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Wed Dec  6 06:36:47 2017 FFserver started.
Wed Dec  6 06:36:57 2017 File '/stream0.webm' not found
Wed Dec  6 06:36:57 2017 127.0.0.1 - - [POST] "/stream0.webm HTTP/1.1" 404
193
Wed Dec  6 06:37:17 2017 File '/stream0.webm' not found
Wed Dec  6 06:37:17 2017 127.0.0.1 - - [GET] "/stream0.webm HTTP/1.1" 404
193

On Wed, Dec 6, 2017 at 6:27 AM, Moritz Barsnick <barsnick at gmx.net> wrote:

> On Wed, Dec 06, 2017 at 06:10:17 +1100, Alec Taylor wrote:
>
> > But unfortunately I get this error:
> >
> > av_interleaved_write_frame(): Broken pipe
> > frame=   49 fps=1.4 q=0.0 size=       1kB time=00:00:00.89 bitrate=
> > 6.5kbits/sav_interleaved_write_frame(): Broken pipe
> > Error writing trailer of http://0.0.0.0:8090/stream0.webm: Broken pipe
> >
> > The server on port 8090 is ffserver <https://trac.ffmpeg.org/wiki/
> ffserver>
> > with default conf <http://ffmpeg.org/sample.html>.
>
> What does ffserver say in its log output?
> Also, what does your ffserver.conf look like (exactly)? Feel free to
> attach. (I think you're confusing ffmpeg feed vs. client URI.)
>
> While you are at it, also please show the complete, uncut console
> output of ffmpeg.
>
> Thanks,
> Moritz
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list