amiaopensource / vrecord

Vrecord is open-source software for capturing a video signal and turning it into a digital file.
https://github.com/amiaopensource/vrecord
149 stars 44 forks source link

Error closing file pipe:: Broken pipe Conversion failed! #788

Open marshalleq opened 4 months ago

marshalleq commented 4 months ago

When I use the Q option to quit recording I get the above message. I then notice there's some challenges seeking with vlc at the end of the file. This is using mkv and ffv1.

When using ctrl-c to end recording I haven't noticed the message but I have discovered I still get the seeking issues. I need to test again but I dont think this happened before mkv and ffv1. This is a bit worrying as it seems the closing of the file isn't happening properly and not writing the proper seek info. I'm betting there is something in mlv tools that will check it.

The video does appear to playback fine though.

Also need to try another player I guess. Could just be something with the codec still gaining proper support.

marshalleq commented 4 months ago

Actually, here's the full end of log which explicitly states it could write the end of the file.

[decklink @ 0x137605050] Frame received (#6487) - Input returned - Frames dropped 4 av_interleaved_write_frame(): Broken pipe Error writing trailer of pipe:: Broken pipe frame=40259 fps= 25 q=-0.0 Lq=-0.0 q=-1.0 size=16166543kB time=00:26:50.76 bitrate=82219.8kbits/s speed= 1x
video:124421428kB audio:2265131kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown Error closing file pipe:: Broken pipe Conversion failed! qcli dev build, Oct 12 2023 07:09:34 filters selected: signalstats aphasemeter astats ssim

marshalleq commented 4 months ago

I have just tested using mov as a container and the file is correctly seekable to the end. All mkv containers that I've tried however are not and continue to exhibit this error, at least when viewing with vlc.

dericed commented 4 months ago

Hi @marshalleq, in the config tab, in the environment box, can you check the variable for "FFMPEG_BIN". It should be FFMPEG_BIN="/usr/local/opt/ffmpegdecklink/bin/ffmpeg-dl". Let me know if it's something different. Also, if that's the case, can you run: /usr/local/opt/ffmpegdecklink/bin/ffmpeg-dl in the terminal and let me know which version of ffmpegdecklink you're using. We found that ffmpeg version 6 and later changes something that vrecord relies on to close the file properly, so we've stayed on version 5 for now.