Skip to content

Implement input from stdin in vosk-transcriber #2031

@its-dibo

Description

@its-dibo

I can do something like this whis whsper

$ ffmpeg -ss 0 -t 10 -i "./video.mkv"  ... -f wav - | whisper  -  ..."

So, I can pipe whisper with the results from ffmpeg.
I need to feed whisper from segments that output from ffmpeg, rather than feeding the full video length, or physically split video into multiple chunks

But when using the same technique with VOSK, the input is not recognized

$ ffmpeg -ss 0 -t 10 -i "./video.mkv"  -vn -ar 16000 -ac 1 -c:a pcm_s16le -af "dynaudnorm,highpass=f=80,lowpass=f=8000" -f wav - | vosk-transcriber -i -  --output "./video.txt" --lang "en" --output-type "txt"
INFO:root:File/folder {args.input} does not exist, please specify an existing file/directory [aost#0:0/pcm_s16le @ 0x56ffe816bb80] Error submitting a packet to the muxer: Broken pipe [out#0/wav @ 0x56ffe80e7cc0] Error muxing a packet [out#0/wav @ 0x56ffe80e7cc0] Error writing trailer: Broken pipe [out#0/wav @ 0x56ffe80e7cc0] Error closing file: Broken pipe [out#0/wav @ 0x56ffe80e7cc0] video:0kB audio:78kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown size= 63kB time=00:00:06.49 bitrate= 78.9kbits/s speed=55.9x

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