0

I currently have a command that has two piped outputs input into two pipes into ffmpeg

{ youtube-dl -f bestaudio[ext!=webm]/140/best[ext!=webm] --no-cache-dir -o - https://www.youtube.com/watch?v=sGIm0-dQd8M; youtube-dl -f 135/best --no-cache-dir -o - https://www.youtube.com/watch?v=sGIm0-dQd8M; } | ffmpeg -i pipe:0 -i pipe:1 -c:v copy -c:a aac -strict experimental output.mp4 -loglevel debug

The problem is ffmpeg hangs once it gets to this and never finishes

ffmpeg version 4.1-1~18.04.york0 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-27ubuntu1~18.04)
  configuration: --prefix=/usr --extra-version='1~18.04.york0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  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
Splitting the commandline.
Reading option '-i' ... matched as input url with argument 'pipe:0'.
Reading option '-i' ... matched as input url with argument 'pipe:1'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'.
Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'aac'.
Reading option '-strict' ...Routing option strict to both codec and muxer layer
 matched as AVOption 'strict' with argument 'experimental'.
Reading option 'output.mp4' ... matched as output url.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url pipe:0.
Successfully parsed a group of options.
Opening an input file: pipe:0.
[NULL @ 0x5582cfbb0b40] Opening 'pipe:0' for reading
[pipe @ 0x5582cfbb1600] Setting default whitelist 'crypto'
[youtube] sGIm0-dQd8M: Downloading webpage
[youtube] sGIm0-dQd8M: Downloading video info webpage
[youtube] sGIm0-dQd8M: Downloading js player vflhRp6T6
[youtube] sGIm0-dQd8M: Downloading js player vflhRp6T6
[download] Destination: -
[download]   0.9% of 3.36MiB at  1.28MiB/s ETA 00:02[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5582cfbb0b40] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5582cfbb0b40] ISO: File Type Major Brand: dash
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5582cfbb0b40] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5582cfbb0b40] found sidx time -9223372036854775808, using it for pts
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5582cfbb0b40] Before avformat_find_stream_info() pos: 2776 bytes read:3072 seeks:0 nb_streams:1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5582cfbb0b40] All info found
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5582cfbb0b40] After avformat_find_stream_info() pos: 3147 bytes read:31744 seeks:0 frames:1
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:0':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6mp41
    creation_time   : 2018-12-04T00:48:46.000000Z
  Duration: 00:03:37.69, start: 0.000000, bitrate: N/A
    Stream #0:0(und), 1, 1/44100: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 5 kb/s (default)
    Metadata:
      creation_time   : 2018-12-04T00:48:46.000000Z
      handler_name    : ISO Media file produced by Google Inc. Created on: 12/03/2018.
Successfully opened the file.
Parsing a group of options: input url pipe:1.
Successfully parsed a group of options.
Opening an input file: pipe:1.
[NULL @ 0x5582cfbc09c0] Opening 'pipe:1' for reading
[pipe @ 0x5582cfbc1680] Setting default whitelist 'crypto'
[download]   1.8% of 3.36MiB at  1.31MiB/s ETA 00:02
2
  • pipe:1 is stdout. You'll need named pipes. Commented Mar 19, 2019 at 16:43
  • @Gyan I tried doing mkfifo testpipe0 testpipe1 then changing the command to youtube-dl -f bestaudio[ext!=webm]/140/best[ext!=webm] --no-cache-dir -o - https://www.youtube.com/watch?v=sGIm0-dQd8M > testpipe0 and updating inputs on ffmpeg. But the issue still persists Commented Mar 19, 2019 at 23:22

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.