Unable to play video processed by ffmpeg

2019-08-26 06:54发布

I have an issue of not being able to play a video that was processed by ffmpeg. I have 6 videos, each of different length but same frame rate that i merge (2 rows 3 columns). VLC player doesnt run it, using any other players return an error. Below is the code I used to combine the videos. I cant seem to find a solution on google / stackoverflow.

C:\Users\kong\Desktop\kong\atasets\nuscenes\sweeps\_video>ffmpeg -i frontleft.avi -i front.avi -i frontright.avi -i backleft.avi -i back.avi -i backright.avi -filter_complex "[0:v][1:v][2:v]hstack=3[top];[3:v][4:v][5:v]hstack=3[bottom];[top][bottom]vstack[v]" -map "[v]" output.avi
ffmpeg version 4.0.2 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.3.1 (GCC) 20180722
  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. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
Input #0, avi, from 'frontleft.avi':
  Metadata:
    encoder         : Lavf58.12.100
  Duration: 00:15:51.90, start: 0.000000, bitrate: 9475 kb/s
    Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuvj420p(pc, progressive), 1600x900 [SAR 1:1 DAR 16:9], 9471 kb/s, 20 fps, 20 tbr, 20 tbn, 40 tbc
Input #1, avi, from 'front.avi':
  Metadata:
    encoder         : Lavf58.12.100
  Duration: 00:15:45.00, start: 0.000000, bitrate: 7887 kb/s
    Stream #1:0: Video: h264 (High) (H264 / 0x34363248), yuvj420p(pc, progressive), 1600x900 [SAR 1:1 DAR 16:9], 7884 kb/s, 20 fps, 20 tbr, 20 tbn, 40 tbc
Input #2, avi, from 'frontright.avi':
  Metadata:
    encoder         : Lavf58.12.100
  Duration: 00:15:44.20, start: 0.000000, bitrate: 8551 kb/s
    Stream #2:0: Video: h264 (High) (H264 / 0x34363248), yuvj420p(pc, progressive), 1600x900 [SAR 1:1 DAR 16:9], 8547 kb/s, 20 fps, 20 tbr, 20 tbn, 40 tbc
Input #3, avi, from 'backleft.avi':
  Metadata:
    encoder         : Lavf58.12.100
  Duration: 00:15:11.05, start: 0.000000, bitrate: 9864 kb/s
    Stream #3:0: Video: h264 (High) (H264 / 0x34363248), yuvj420p(pc, progressive), 1600x900 [SAR 1:1 DAR 16:9], 9859 kb/s, 20 fps, 20 tbr, 20 tbn, 40 tbc
Input #4, avi, from 'back.avi':
  Metadata:
    encoder         : Lavf58.12.100
  Duration: 00:15:17.95, start: 0.000000, bitrate: 7347 kb/s
    Stream #4:0: Video: h264 (High) (H264 / 0x34363248), yuvj420p(pc, progressive), 1600x900 [SAR 1:1 DAR 16:9], 7344 kb/s, 20 fps, 20 tbr, 20 tbn, 40 tbc
Input #5, avi, from 'backright.avi':
  Metadata:
    encoder         : Lavf58.12.100
  Duration: 00:15:46.30, start: 0.000000, bitrate: 8965 kb/s
    Stream #5:0: Video: h264 (High) (H264 / 0x34363248), yuvj420p(pc, progressive), 1600x900 [SAR 1:1 DAR 16:9], 8961 kb/s, 20 fps, 20 tbr, 20 tbn, 40 tbc
File 'output.avi' already exists. Overwrite ? [y/N]

EDIT: It seems like this isn't a duplicate because all the solutions in the duplicate links do not work.

标签: ffmpeg
1条回答
看我几分像从前
2楼-- · 2019-08-26 07:35

VLC works for me. yuvj420p pixel format, a 4800x1800 video size, and b-frames in AVI may be an issue (assuming you may encode to H.264). Try:

Change [top][bottom]vstack[v] to [top][bottom]vstack,scale=iw/3:-2,format=yuv420p[v] -bf 0.

查看更多
登录 后发表回答