Opened 5 years ago
Last modified 5 years ago
#7316 new defect
Windows named pipe output prompts to overwrite
Reported by: | James | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | win32 |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug: Using Named Pipe syntax on Windows results in an interactive prompt to overwrite the target file. Named pipes aren't really files, they're more like a listening server socket, so this prompt makes no sense.
How to reproduce: First, listen to a new named pipe. This is outside the scope of this issue, but this StackOverflow answer shows how to listen via NodeJS, for example. Say your pipe is \\.\pipe\SomePipeName
, the relevant command would be
% ffmpeg -i infile.ts -codec copy -f data "\\.\pipe\SomePipeName" ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers built with gcc 7.2.0 (GCC) ... File '\\.\pipe\SomePipeName' already exists. Overwrite ? [y/N]
This isn't an error condition and shouldn't result in any kind of prompt. If nobody is listening on that pipe name, which is in fact an error, the message is instead "no such file or directory". This sort of makes sense but it would be more accurate to say that the pipe couldn't connect.
Change History (2)
comment:1 by , 5 years ago
Keywords: | win32 added; named-pipe Windows removed |
---|---|
Version: | 3.4 → unspecified |
comment:2 by , 5 years ago
OK, I grabbed the nightly build from here, below is the uncut console output -- until the prompt is answered, which does result in the output being piped successfully.
> ffmpeg.exe -i "sample.ts" -map 0:1 -codec copy -f data "\\.\pipe\klvin" ffmpeg version N-91473-gc5329d64b1 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7.3.1 (GCC) 20180710 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --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-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth libavutil 56. 18.102 / 56. 18.102 libavcodec 58. 21.105 / 58. 21.105 libavformat 58. 17.101 / 58. 17.101 libavdevice 58. 4.101 / 58. 4.101 libavfilter 7. 25.100 / 7. 25.100 libswscale 5. 2.100 / 5. 2.100 libswresample 3. 2.100 / 3. 2.100 libpostproc 55. 2.100 / 55. 2.100 [mpegts @ 0000024c14d3a200] start time for stream 1 is not set in estimate_timings_from_pts Input #0, mpegts, from 'sample.ts': Duration: 00:03:14.88, start: 10.000000, bitrate: 4187 kb/s Program 1 Stream #0:0[0x1e1]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720, 60 fps, 60 tbr, 90k tbn, 180k tbc Stream #0:1[0x1f1]: Data: klv (KLVA / 0x41564C4B) File '\\.\pipe\klvin' already exists. Overwrite ? [y/N]
Please test current FFmpeg git head and provide the command line you tested together with the complete, uncut console output to make this a valid ticket.
If you know how to distinguish between file and pipe on Windows please consider sending a patch - made with
git format-patch
- to the development mailing list.