Как объединить несколько файлов webm с ffmpeg без предупреждения? - PullRequest
1 голос
/ 03 июля 2019

Я пытаюсь объединить 6 видеофайлов WebM с тем же разрешением и теми же кодеками с помощью этой команды ffmpeg -f concat -i mylist.txt -c copy finalvideo.webm, но я получаю несколько предупреждений, и в конечном выводе есть только первый видеофайл

mylist.txt

file '1.webm'
file '2.webm'
file '3.webm'
file '4.webm'
file '5.webm'
file '6.webm'

Журнал ffmpeg

  built with gcc 7.1.0 (GCC)

Input #0, concat, from 'mylist.txt':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0(eng): Audio: opus, 48000 Hz, mono, fltp
    Stream #0:1(eng): Video: vp9 (Profile 0), yuv420p(tv), 1920x1080, SAR 1:1 DAR 16:9, 1k fps, 1k tbr,
 1k tbn, 1k tbc
    Metadata:
      alpha_mode      : 1
Output #0, webm, to 'finalvideo.webm':
  Metadata:
    encoder         : Lavf57.78.100
    Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 1k fps
, 1k tbr, 1k tbn, 1k tbc
    Metadata:
      alpha_mode      : 1
    Stream #0:1(eng): Audio: opus, 48000 Hz, mono, fltp
Stream mapping:
  Stream #0:1 -> #0:0 (copy)
  Stream #0:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
[concat @ 0000000000797200] DTS -9223363446920184 < 3900 out of order
DTS -9223363446920184, next:3901000 st:1 invalid dropping
PTS -9223363446920184, next:3901000 invalid dropping st:1
[webm @ 00000000029e20e0] Timestamps are unset in a packet for stream 0. This is deprecated and will st
op working in the future. Fix your code to set the timestamps properly
DTS -9223363446920156, next:3902000 st:1 invalid dropping
PTS -9223363446920156, next:3902000 invalid dropping st:1
DTS -9223363446920128, next:3903000 st:1 invalid dropping




[webm @ 00000000029e20e0] Application provided invalid, non monotonically increasing dts to muxer in st
ream 0: 4094 >= 0
av_interleaved_write_frame(): Invalid argument
frame=  350 fps=0.0 q=-1.0 Lsize=    2436kB time=00:00:04.09 bitrate=4873.8kbits/s speed=11.7x
video:2576kB audio:46kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Conversion failed!

1 Ответ

2 голосов
/ 03 июля 2019

Попробуйте -avoid_negative_ts 1 в качестве возможного обходного пути.

И обновление вашей версии ffmpeg может помочь.

См.

https://trac.ffmpeg.org/ticket/6248

и

https://trac.ffmpeg.org/ticket/6979

...