簡體   English   中英

來自png的ffmpeg ... PNGS子集出錯?

[英]ffmpeg from pngs… Error with subset of PNGS?

我將要轉換成電影的大約1200 png。 其中一些缺失:即-_00003.png,_00005.png存在,但是1、2和4不存在。

以下命令適用於其他數據集,但不適用於我當前的png組:

ffmpeg -i pngs/_*.png -y -vcodec mpeg4 -pix_fmt yuv420p -r 25 -filter:v 'setpts=1.2*PTS' p3SN.mp4

我收到此錯誤:

Output #61, image2, to 'pngs/_00096.png':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #61:0: Video: png, rgba, 3240x2160 [SAR 3937:3937 DAR 3:2], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.107.100 png
Output #62, image2, to 'pngs/_00097.png':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #62:0: Video: png, rgba, 3240x2160 [SAR 3937:3937 DAR 3:2], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.107.100 png
[png @ 0x7fae93170e00] ff_frame_thread_encoder_init failed
Error initializing output stream 63:0 -- Error while opening encoder for output stream #63:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!

圖片為_00097.png。 如果我將其刪除,則稍后會發生(105)。

我通過查看圖像的尺寸等檢查了圖像,並且此范圍內的所有圖像看起來都相同(我使用_0009?.png進行了檢查)。

知道為什么會這樣嗎?

這是有問題的文件(中間)以及之前/之后的文件:

96

97-“錯誤圖片”

98

您的命令將使用第一個輸入覆蓋所有輸入文件。 這是為什么在使用-y會格外小心的示例,它會自動覆蓋文件而不會詢問您。

您需要告訴ffmpeg使用glob模式

ffmpeg -y -pattern_type glob -framerate 25/1.2 -i "pngs/_*.png" -vcodec mpeg4 -pix_fmt yuv420p -r 25 p3SN.mp4
  • 我相信glob pattern選項在Windows上不起作用,但是如果它等效於Linux cat命令,則可以通過管道輸出: cat *.png | ffmpeg -i - output.mp4 cat *.png | ffmpeg -i - output.mp4
  • 如果需要,可以使用-framerate-r而不是setpts。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM