Skip to content

Twitch "Conversion failed!" with panic: write |1: broken pipe #62

Open
@ldenoue

Description

@ldenoue

Your environment.

  • Version: v3
  • Browser: Chrome or Firefox
  • Other Information
Connection State has changed connected 
Track has started, of type 111: opus 
Track has started, of type 96: VP8 
WebM saver has started with video width=640, height=480
ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gpl --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-opencl --enable-videotoolbox
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input #0, matroska,webm, from 'pipe:0':
  Metadata:
    encoder         : ebml-go.webm.BlockWriter
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
    Metadata:
      title           : Audio
    Stream #0:1(eng): Video: vp8, yuv420p(progressive), 640x480, SAR 1:1 DAR 4:3, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      title           : Video
Stream mapping:
  Stream #0:1 -> #0:0 (vp8 (native) -> h264 (libx264))
  Stream #0:0 -> #0:1 (opus (native) -> aac (native))
[libx264 @ 0x7fe6bb80f800] using SAR=1/1
[libx264 @ 0x7fe6bb80f800] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x7fe6bb80f800] profile High, level 3.0
[libx264 @ 0x7fe6bb80f800] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=1 keyint=50 keyint_min=5 scenecut=40 intra_refresh=0 rc_lookahead=10 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=3000 vbv_bufsize=6000 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
Output #0, flv, to 'rtmp://REDACTED_FOR_PRIVACY':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0(eng): Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 30 fps, 1k tbn, 30 tbc (default)
    Metadata:
      title           : Video
      encoder         : Lavc58.35.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 3000000/0/0 buffer size: 6000000 vbv_delay: -1
    Stream #0:1(eng): Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 160 kb/s (default)
    Metadata:
      title           : Audio
      encoder         : Lavc58.35.100 aac
**av_interleaved_write_frame(): End of fileB** time=00:00:46.39 bitrate= 473.6kbits/s speed=0.999x    
    Last message repeated 1 times
[flv @ 0x7fe6bb80e600] Failed to update header with correct duration.
[flv @ 0x7fe6bb80e600] Failed to update header with correct filesize.
**Error writing trailer of rtmp://REDACTED_FOR_PRIVACY: End of file**
frame=  575 fps= 12 q=27.0 Lsize=    2682kB time=00:00:46.71 bitrate= 470.3kbits/s speed=0.998x    
video:1935kB audio:920kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[libx264 @ 0x7fe6bb80f800] frame I:17    Avg QP:19.12  size: 16985
[libx264 @ 0x7fe6bb80f800] frame P:294   Avg QP:21.21  size:  4813
[libx264 @ 0x7fe6bb80f800] frame B:264   Avg QP:22.01  size:  1345
[libx264 @ 0x7fe6bb80f800] consecutive B-frames: 30.3% 20.9% 14.1% 34.8%
[libx264 @ 0x7fe6bb80f800] mb I  I16..4: 28.2% 30.7% 41.0%
[libx264 @ 0x7fe6bb80f800] mb P  I16..4: 13.3%  8.0%  2.8%  P16..4: 25.6%  6.8%  3.0%  0.0%  0.0%    skip:40.6%
[libx264 @ 0x7fe6bb80f800] mb B  I16..4:  3.9%  1.7%  0.2%  B16..8: 11.7%  3.4%  0.4%  direct: 6.0%  skip:72.8%  L0:51.3% L1:42.3% BI: 6.4%
[libx264 @ 0x7fe6bb80f800] 8x8 transform intra:32.2% inter:38.0%
[libx264 @ 0x7fe6bb80f800] coded y,uvDC,uvAC intra: 45.2% 53.5% 21.3% inter: 9.0% 17.2% 0.9%
[libx264 @ 0x7fe6bb80f800] i16 v,h,dc,p: 27% 29% 40%  4%
[libx264 @ 0x7fe6bb80f800] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 31% 23%  1%  3%  5%  3%  2%  3%
[libx264 @ 0x7fe6bb80f800] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 38% 11%  3%  3%  5%  4%  4%  3%
[libx264 @ 0x7fe6bb80f800] i8c dc,h,v,p: 54% 26% 16%  3%
[libx264 @ 0x7fe6bb80f800] Weighted P-Frames: Y:3.7% UV:2.0%
[libx264 @ 0x7fe6bb80f800] kb/s:430.43
[aac @ 0x7fe6bc81aa00] Qavg: 9015.414
**Conversion failed!
panic: write |1: broken pipe
	panic: write |1: broken pipe**

goroutine 65 [running]:
github.com/at-wat/ebml-go/mkvcore.NewSimpleBlockWriter.func1(0x1639600, 0xc0004bc1e0)
	/Users/denoue/go/pkg/mod/github.com/at-wat/[email protected]/mkvcore/blockwriter.go:76 +0x3e
github.com/at-wat/ebml-go/mkvcore.NewSimpleBlockWriter.func4.1(0xc00010bea8, 0xc00010beb8, 0xc000110840, 0xc0001ec0e0, 0xc000465620)
	/Users/denoue/go/pkg/mod/github.com/at-wat/[email protected]/mkvcore/blockwriter.go:178 +0x149
panic(0x1505440, 0xc0004bc180)
	/usr/local/go/src/runtime/panic.go:969 +0x166
github.com/at-wat/ebml-go/mkvcore.NewSimpleBlockWriter.func1(0x1639600, 0xc0004bc180)
	/Users/denoue/go/pkg/mod/github.com/at-wat/[email protected]/mkvcore/blockwriter.go:76 +0x3e
github.com/at-wat/ebml-go/mkvcore.NewSimpleBlockWriter.func4(0xc000110840, 0xc0001ec0e0, 0xc000465620, 0xc0004657a0, 0xc0004655c0, 0x7fff)
	/Users/denoue/go/pkg/mod/github.com/at-wat/[email protected]/mkvcore/blockwriter.go:238 +0x475
created by github.com/at-wat/ebml-go/mkvcore.NewSimpleBlockWriter
	/Users/denoue/go/pkg/mod/github.com/at-wat/[email protected]/mkvcore/blockwriter.go:156 +0x70a
exit status 2

What did you do?

I ran the twitch sample by sending my SDP using EXPORT SDP=... and then echo $SDP | go run main.go

What did you expect?

I expect ffmpeg to keep converting the incoming RTP audio and video packets and pushing the converted audio/video to my RTMP endpoint.

What happened?

Everything works for a few seconds (and I can see my stream for a little while, even though it's highly pixelated), but then it fails with the stack trace shown above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions