#5459 我在为一个4K60fps视频配音时报错:最后一步字幕配音嵌入时出错opening input: Invalid data found when processing input opening input file novoice.mp4.

216.227* Posted at: 8 hours ago

我在为一个4K60fps视频配音时报错:
最后一步字幕配音嵌入时出错opening input: Invalid data found when processing input opening input file novoice.mp4. opening input files: Invalid data found when processing input
Traceback (most recent call last):
File "videotrans\util\help_ffmpeg.py", line 57, in runffmpeg
File "subprocess.py", line 526, in run
subprocess.CalledProcessError: Command '['ffmpeg', '-hide_banner', '-nostdin', '-ignore_unknown', '-threads', '0', '-y', '-progress', 'compose1782317415.0674489.txt', '-i', 'novoice.mp4', '-i', 'will_embed.m4a', '-i', 'end.srt', '-map', '0:v', '-map', '1:a', '-map', '2:s', '-c:v', 'copy', '-c:a', 'copy', '-c:s', 'mov_text', '-metadata:s:s:0', 'language=zho', '-movflags', '+faststart', '-shortest', 'laste_target.mp4']' returned non-zero exit status 3199971767.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "videotrans\task\trans_create.py", line 1435, in _join_video_audio_srt
File "videotrans
......
le-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-liblc3 --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
libavutil 59. 39.100 / 59. 39.100
libavcodec 61. 19.100 / 61. 19.100
libavformat 61. 7.100 / 61. 7.100
libavdevice 61. 3.100 / 61. 3.100
libavfilter 10. 4.100 / 10. 4.100
libswscale 8. 3.100 / 8. 3.100
libswresample 5. 3.100 / 5. 3.100
libpostproc 58. 3.100 / 58. 3.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000027c54c201c0] stream 0, timescale not set
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Introduction_clean.mp4':
Metadata:

major_brand     : isom
minor_version   : 512
compatible_brands: isomav01iso2mp41
encoder         : Lavf61.7.100

Duration: 00:35:29.00, start: 0.000000, bitrate: 1205 kb/s
Chapters:

Chapter #0:0: start 0.000000, end 244.000000
  Metadata:
    title           :
Chapter #0:1: start 244.000000, end 639.000000
  Metadata:
    title           :
Chapter #0:2: start 639.000000, end 728.000000
  Metadata:
    title           :
Chapter #0:3: start 728.000000, end 1159.000000
  Metadata:
    title           :
Chapter #0:4: start 1159.000000, end 1344.000000
  Metadata:
    title           :
Chapter #0:5: start 1344.000000, end 1683.000000
  Metadata:
    title           :
Chapter #0:6: start 1683.000000, end 1722.000000
  Metadata:
    title           :
Chapter #0:7: start 1722.000000, end 1990.000000
  Metadata:
    title           :
Chapter #0:8: start 1990.000000, end 2129.000000
  Metadata:
    title           :

Stream #0:00x1: Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709), 3840x2160, 1087 kb/s, 60 fps, 60 tbr, 15360 tbn (default)

  Metadata:
    handler_name    : VideoHandler
    vendor_id       : [0][0][0][0]

Stream #0:10x2: Audio: opus (Opus / 0x7375704F), 48000 Hz, stereo, fltp, 107 kb/s (default)

  Metadata:
    handler_name    : SoundHandler
    vendor_id       : [0][0][0][0]

Stream #0:20x3: Data: bin_data (gpmd / 0x646D7067), 0 kb/s

  Metadata:
    handler_name    : GoPro MET

Stream #0:3[0x0]: Video: png, rgb24(pc, gbr/unknown/unknown), 1280x720, 90k tbr, 90k tbn (attached pic) (timed thumbnails)
Unsupported codec with id 98314 for input stream 2

1 Replies

原因分析

报错核心是 FFmpeg 无法正确读取分离后的无声视频文件 novoice.mp4。你的原始视频是 AV1 编码(4K 60fps),且包含 GoPro 元数据流gpmd)和 缩略图附件流attached pic),属于非标准结构。软件在分离视频时保留了这些特殊流,导致后续 FFmpeg 合并时无法识别该文件。


解决方案(按推荐顺序尝试)

1. 勾选“强制软编码视频”

  • 操作:菜单 → 工具 → 高级选项 → 视频输出控制,勾选 强制软编码视频?
  • 效果:强制使用 libx264 重新编码视频,彻底避免流兼容性问题。注意处理时间会变长,体积可能增大。

2. 手动修复 novoice.mp4(不重新编码)

  • 找到临时文件夹:日志中显示路径 E:/win-pyvideotrans-v4.03-0622/tmp/25096/adfaf76b38,进入后找到 novoice.mp4
  • 使用 FFmpeg 命令过滤掉不必要的流并重新打包:

    ffmpeg -i novoice.mp4 -c copy -map 0:v -map 0:a? -map_metadata -1 -fflags +genpts -y novoice_fixed.mp4

    然后将 novoice_fixed.mp4 重命名为 novoice.mp4,覆盖原文件,再次执行任务。

3. 若问题仍存

  • 尝试在“高级选项”中将视频编码从 libx264 改为 libx265(更小体积但需更多CPU),或调整 视频输出质量控制(CRF值调大如25)。
  • 检查是否因为磁盘空间不足导致临时文件写入不完整(你的临时文件夹在 C 盘根,建议确保有 20GB 以上剩余空间)。
注意:你的代理设置(http://127.0.0.1:7890)不影响本地 FFmpeg 操作,无需动它。

查阅文档

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update. Dondate: ko-fi.com/jianchang512

Related resource