首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复在ffmpeg上不支持不可查找的输出错误?

如何修复在ffmpeg上不支持不可查找的输出错误?
EN

Stack Overflow用户
提问于 2022-09-14 08:09:36
回答 1查看 200关注 0票数 0

当我尝试将我的视频流到YouTube rtmps服务器时,我会收到这个错误,我不知道它意味着什么,也不知道如何修复它。有人能帮忙吗?

我第一次用电子的MediaRecorder记录我的屏幕

然后,我将元数据插入到blob (其他电子输出,而不指定文件的结尾)

我通过执行mp4将webm转换为ffmpeg -i ${tempVideoPath} -c copy ${tempMp4VideoPath}

然后我执行ffmpeg -re -i ${tempVideoPath} -c copy -f mp4 ${youtubertmpslink}

最后,我得到了这个错误:

代码语言:javascript
复制
ffmpeg version 5.1.1-essentials_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 12.1.0 (Rev2, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\yussu\Desktop\Yazilim\electronJS\online-egitim-ogretmen\src\temp\stream-1663141332257.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2mp41
    encoder         : Lavf59.27.100
  Duration: 00:00:04.98, start: 0.000000, bitrate: 4251 kb/s
  Stream #0:0[0x1](eng): Video: vp9 (Profile 0) (vp09 / 0x39307076), yuv420p(tv), 1920x1080, 4179 kb/s, SAR 1:1 DAR 16:9, 23.07 fps, 16k tbr, 16k tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : [0][0][0][0]
  Stream #0:1[0x2](eng): Audio: opus (Opus / 0x7375704F), 48000 Hz, stereo, fltp, 99 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
      vendor_id       : [0][0][0][0]
[mp4 @ 000001bd5ee76440] muxer does not support non seekable output
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:1 -- 
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
    Last message repeated 1 times

    at ChildProcess.exithandler (child_process.js:308)
    at ChildProcess.emit (events.js:210)
    at maybeClose (internal/child_process.js:1021)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:283)```
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-19 06:30:54

我是怎么修正的

  • 多亏了@kesh,我把webm转换成了mp4转换,而把-f flv放在命令的末尾,用于流视频。

mp4格式要求文件寻求来完成它的工作。因此,ffmpeg抱怨说,如果您指示它将mp4数据写入只写的介质(例如管道和互联网流)。如果需要MP4,您需要选择不同的文件格式,或者改变程序的工作方式。@kesh

  • 将我的流命令更改为-re -i {{video}} -vcodec libx264 -acodec aac -preset ultrafast -tune zerolatency -f flv ${ingestionLink} this。我有我的音频和视频编解码器,也有一个命令的flv转换。

我对ffmpeg并没有太多的了解,而这些命令和更改只是我发现的一些片段的组合。

据我所知,我只是流webm视频,但我改变视频和音频编解码器,也改变视频格式在一个单一的命令,像这样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73713520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档