Video 为什么我们在使用ffmpeg编码视频时无法使用同一位置的POC?

Video 为什么我们在使用ffmpeg编码视频时无法使用同一位置的POC?,video,ffmpeg,video-encoding,Video,Ffmpeg,Video Encoding,我正在尝试将视频编码为m3u8文件。我插入黑帧时,视频之间没有源。我使用以下命令对视频进行编码。我在ffmpeg网站上找到了插入过滤器和黑框的选项。但在根据stackoverflow和其他来源进行一些更改后,我失败了 ffmpeg -threads 8 -i input.ts -loop 1 -framerate 30000/1001 -i /usr/local/etc/tv-test-pattern-146649_1280.png -f lavfi -i anullsrc=channel_la

我正在尝试将视频编码为m3u8文件。我插入黑帧时,视频之间没有源。我使用以下命令对视频进行编码。我在ffmpeg网站上找到了插入过滤器和黑框的选项。但在根据stackoverflow和其他来源进行一些更改后,我失败了

ffmpeg -threads 8 -i input.ts -loop 1 -framerate 30000/1001 -i /usr/local/etc/tv-test-pattern-146649_1280.png -f lavfi -i anullsrc=channel_layout=5.1:sample_rate=48000 -filter_complex "[0:v]setpts=PTS-STARTPTS[v0]; [0:a]asetpts=PTS-STARTPTS[a0]; [v0]scale=320:240,setsar=1[v0-1]; [1:v]scale=320:240,setsar=1[v1]; [v0-1][a0][v1][2:a]insert=v=1:a=1[v][a]" -map [v] -map [a] -vcodec libx264 -r 30 -fsize 320x240 -b:v 512000 -maxrate 512000 -acodec libfdk_aac -b:a 32000 -ac 2 -ar 48000 -force_key_frames expr:gte'(t,n_forced*3)' -hls_flags single_file -hls_list_size 0 -hls_time 3 -fsize 400x222 -preset:v ultrafast -y output.m3u8

ffmpeg version n4.1.1-5-gbf14903c01 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
  configuration: --prefix=/opt/ffmpeg --extra-version= --toolchain=hardened --libdir=/opt/ffmpeg/lib/x86_64-linux-gnu --incdir=/opt/ffmpeg/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libsnappy --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-libxcb --enable-libxcb-shm --enable-libxcb-shape --enable-libdc1394 --enable-libiec61883 --enable-libx264 --disable-x86asm 
  WARNING: library configuration mismatch

libavutil      56. 22.100 / 56. 22.100
libavcodec     58. 35.100 / 58. 35.100
libavformat    58. 20.100 / 58. 20.100
libavdevice    58.  5.100 / 58.  5.100
libavfilter     7. 40.101 /  7. 40.101
libavresample   4.  0.  0 /  4.  0.  0
libswscale      5.  3.100 /  5.  3.100
libswresample   3.  3.100 /  3.  3.100
libpostproc    55.  3.100 / 55.  3.100

[h264 @ 0x564c2be0f340] sps_id 0 out of range
[h264 @ 0x564c2be0f340] SPS unavailable in decode_picture_timing
[h264 @ 0x564c2be0f340] non-existing PPS 0 referenced
[h264 @ 0x564c2be0f340] sps_id 0 out of range
[h264 @ 0x564c2be0f340] SPS unavailable in decode_picture_timing
[h264 @ 0x564c2be0f340] non-existing PPS 0 referenced
[h264 @ 0x564c2be0f340] decode_slice_header error
[h264 @ 0x564c2be0f340] no frame!
[h264 @ 0x564c2be0f340] sps_id 0 out of range
[h264 @ 0x564c2be0f340] SPS unavailable in decode_picture_timing
[h264 @ 0x564c2be0f340] non-existing PPS 0 referenced
[h264 @ 0x564c2be0f340] sps_id 0 out of range
[h264 @ 0x564c2be0f340] SPS unavailable in decode_picture_timing
[h264 @ 0x564c2be0f340] non-existing PPS 0 referenced
[h264 @ 0x564c2be0f340] decode_slice_header error
[h264 @ 0x564c2be0f340] no frame!

input.ts FPS 25.000000 0
Input #0, mpegts, from 'input.ts':
  Duration: 00:19:51.22, start: 127.107911, bitrate: 1109 kb/s
  Program 1 
    Stream #0:0[0x105]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x106]: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 128 kb/s
Input #1, png_pipe, from '/usr/local/etc/tv-test-pattern-146649_1280.png':
  Duration: N/A, bitrate: N/A
    Stream #1:0: Video: png, rgba(pc), 1280x960, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
Input #2, lavfi, from 'anullsrc=channel_layout=5.1:sample_rate=48000':
  Duration: N/A, start: 0.000000, bitrate: 2304 kb/s
    Stream #2:0: Audio: pcm_u8, 48000 Hz, 5.1, u8, 2304 kb/s

[libx264 @ 0x564c2be5ea80] VBV maxrate specified, but no bufsize, ignored
[libx264 @ 0x564c2be5ea80] using SAR=1/1
[libx264 @ 0x564c2be5ea80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x564c2be5ea80] profile Constrained Baseline, level 2.0
[libx264 @ 0x564c2be5ea80] 264 - core 148 r2748 97eaef2 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=abr mbtree=0 bitrate=512 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
[hls @ 0x564c2be40e80] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
    Last message repeated 1 times

Output #0, hls, to output.m3u8':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0: Video: h264 (libx264), yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=-1--1, 512 kb/s, 30 fps, 90k tbn, 30 tbc (default)
    Metadata:
      encoder         : Lavc58.35.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 512000/0/512000 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: aac (libfdk_aac), 48000 Hz, stereo, s16, 32 kb/s (default)
    Metadata:
      encoder         : Lavc58.35.100 libfdk_aac
Stream mapping:
  Stream #0:0 (h264) -> setpts
  Stream #0:1 (ac3) -> asetpts
  Stream #1:0 (png) -> scale
  Stream #2:0 (pcm_u8) -> insert:in1:a0
  insert:out:v0 -> Stream #0:0 (libx264)
  insert:out:a0 -> Stream #0:1 (libfdk_aac)
Press [q] to stop, [?] for help
[h264 @ 0x564c2ce43a40] co located POCs unavailable
[h264 @ 0x564c2ce53600] co located POCs unavailable
[h264 @ 0x564c2cef1280] error while decoding MB 43 20, bytestream -5=3 drop=0 speed=0.599x    
[h264 @ 0x564c2cef1280] concealing 5766 DC, 5766 AC, 5766 MV errors in B frame
[h264 @ 0x564c2ce53600] co located POCs unavailable
[h264 @ 0x564c2ce9bac0] co located POCs unavailable
Past duration 1.189308 too largeN/A time=00:00:01.12 bitrate=N/A dup=6 drop=0 speed=0.714x    
Past duration 0.989311 too large
Past duration 0.789314 too large
[hls @ 0x564c2be40e80] Cannot use rename on non file protocol, this may lead to races and temporary partial files
[h264 @ 0x564c2ce43a40] concealing 1184 DC, 1184 AC, 1184 MV errors in I frame speed=0.971x    
[h264 @ 0x564c2cef1280] Reference 3 >= 2=00:00:16.56 bitrate=N/A dup=83 drop=0 speed=0.985x    
[h264 @ 0x564c2cef1280] error while decoding MB 44 32, bytestream 7180
[h264 @ 0x564c2cef1280] concealing 4325 DC, 4325 AC, 4325 MV errors in B frame
[h264 @ 0x564c2cf2a340] co located POCs unavailable
[h264 @ 0x564c2ce43a40] co located POCs unavailable
[mpegts @ 0x564c2be0a680] PES packet size mismatch02 bitrate=N/A dup=100 drop=0 speed=0.975x 
frame=22321 fps=0.4 q=-1.0 Lsize=N/A time=00:12:24.03 bitrate=N/A dup=3720 drop=0 speed=0.0126x    
video:46857kB audio:2907kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
我的问题是

  • 为什么我得到“同一地点的POC不可用”
  • sps_id 0超出范围
  • SPS在解码\u图片\u定时中不可用

部分输入已损坏。@Gyan我在输入文件中未发现任何问题。