Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 与处理中播放的动画相比,最终渲染的视频速度加快_Java_Video_Ffmpeg_Processing_Render - Fatal编程技术网

Java 与处理中播放的动画相比,最终渲染的视频速度加快

Java 与处理中播放的动画相比,最终渲染的视频速度加快,java,video,ffmpeg,processing,render,Java,Video,Ffmpeg,Processing,Render,最近,我在处理中制作了一个音频可视化工具。从那里,我想把在处理过程中创建的动画渲染成mp4文件。我在windows计算机上,正在使用ffmpeg将处理过程中生成的TIF文件转换为mp4 当我这样做时,我能够将图像渲染到mp4文件中,但是当我播放该文件时,与在处理过程中播放动画时相比,动画速度会加快。因此,当我在视频编辑程序上组合mp4文件和音频时,动画不会与音频同步 当我将帧速率设置为25,将帧数限制为250,并将其渲染到mp4文件时,它的长度应为10秒,但与处理过程中直接播放的动画相比,它包含

最近,我在处理中制作了一个音频可视化工具。从那里,我想把在处理过程中创建的动画渲染成mp4文件。我在windows计算机上,正在使用ffmpeg将处理过程中生成的TIF文件转换为mp4

当我这样做时,我能够将图像渲染到mp4文件中,但是当我播放该文件时,与在处理过程中播放动画时相比,动画速度会加快。因此,当我在视频编辑程序上组合mp4文件和音频时,动画不会与音频同步

当我将帧速率设置为25,将帧数限制为250,并将其渲染到mp4文件时,它的长度应为10秒,但与处理过程中直接播放的动画相比,它包含的动画长度超过10秒

我不知道为什么会这样,任何帮助都将不胜感激

我的处理代码:

import ddf.minim.*;
import ddf.minim.analysis.*;

Minim minim;
AudioPlayer player;
PImage img;
FFT fft;

void setup() {
  size(728, 546);

  minim = new Minim(this);

  // this loads mysong.wav from the data folder as a stream with a internal buffer of size 1024
  player = minim.loadFile("new_years_good.mp3");
  fft = new FFT(player.bufferSize(), player.sampleRate());
  player.play();
  img= loadImage("cat-in-shades-.jpg");
  frameRate(25);
}

void draw() {


  image(img, 0, 0);
  //tint(0, 100, 150);
  stroke(255);

  strokeWeight(4);
  float a = 0;

  float angle = (2*PI) / 200;


  fft.forward(player.mix);


  for(int i=0; i < player.bufferSize() - 1; i++) {

   //player.mix.get(i) is a value between [-1,1]

    float x = 250 + cos(a) * (20 * player.mix.get(i) + 100);
    float x2 = 540 + cos(a) * (20 * player.mix.get(i) + 100);    

    float y = 230 + sin(a) * (20 * player.mix.get(i) + 100);
    float y2 = 240 + sin(a) * (20 * player.mix.get(i) + 100);


    float xFinal = 250 + cos(a+angle) * (20 * player.mix.get(i+1) + 100);
    float x2Final = 540 + cos(a+angle) * (20 * player.mix.get(i+1) + 100);


    float yFinal = 230 + sin(a+angle) * (20 * player.mix.get(i+1) + 100);    
    float y2Final = 240 + sin(a+angle) * (20 * player.mix.get(i+1) + 100);    


    line(x,y,xFinal,yFinal);
    line(x2,y2,x2Final,y2Final);
    a += angle;  



  }
  noStroke();  
  fill(255, 0, 0, 128);
  for(int i = 0; i < 250; i++)
  {
    float b = fft.getBand(i);
    float yAxis = random(-b, b) + 480;
    float xAxis = i*3;
    ellipse(xAxis, yAxis, b, b);
  }
  saveFrame("frame-####.tif");
  if(frameCount>250)
    {
      noLoop();
      stop();
    }

}

void stop() {
  player.close();
  minim.stop();

  super.stop();
}
输出内容:

    ffmpeg version N-77836-g62dfe1d Copyright (c) 2000-2016 the FFmpeg developers
      built with gcc 5.2.0 (GCC)
      configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
    isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
    le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
    enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
    ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
    le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
    able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
    ble-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
     --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enabl
    e-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --
    enable-lzma --enable-decklink --enable-zlib
      libavutil      55. 13.100 / 55. 13.100
      libavcodec     57. 22.100 / 57. 22.100
      libavformat    57. 21.101 / 57. 21.101
      libavdevice    57.  0.100 / 57.  0.100
      libavfilter     6. 23.100 /  6. 23.100
      libswscale      4.  0.100 /  4.  0.100
      libswresample   2.  0.101 /  2.  0.101
      libpostproc    54.  0.100 / 54.  0.100
    Input #0, image2, from 'C:\Users\Robert\Documents\Processing\AudioVisulizer\fram
    e-%04d.tif':
      Duration: 00:00:10.04, start: 0.000000, bitrate: N/A
        Stream #0:0: Video: tiff, rgb24, 728x546, 25 fps, 25 tbr, 25 tbn, 25 tbc
    [libx264 @ 00000092cd5e3700] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
    AVX FMA3 AVX2 LZCNT BMI2
    [libx264 @ 00000092cd5e3700] profile High, level 3.0
    [libx264 @ 00000092cd5e3700] 264 - core 148 r2638 7599210 - H.264/MPEG-4 AVC cod
    ec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 r
    ef=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed
    _ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pski
    p=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 deci
    mate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_
    adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=2
    5 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.6
    0 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to 'smallVid.mp4':
      Metadata:
        encoder         : Lavf57.21.101
        Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 728x54
    6, q=-1--1, 25 fps, 12800 tbn, 25 tbc
        Metadata:
          encoder         : Lavc57.22.100 libx264
        Side data:
          unknown side data type 10 (24 bytes)
    Stream mapping:
      Stream #0:0 -> #0:0 (tiff (native) -> h264 (libx264))
    Press [q] to stop, [?] for help
    frame=   52 fps=0.0 q=28.0 size=      77kB time=00:00:00.00 bitrate=N/A speed=
    frame=   74 fps= 65 q=28.0 size=     127kB time=00:00:00.88 bitrate=1178.0kbits/
    frame=   93 fps= 57 q=28.0 size=     164kB time=00:00:01.64 bitrate= 820.0kbits/
    frame=  113 fps= 52 q=28.0 size=     201kB time=00:00:02.44 bitrate= 676.3kbits/
    frame=  136 fps= 51 q=28.0 size=     245kB time=00:00:03.36 bitrate= 596.3kbits/
    frame=  157 fps= 49 q=28.0 size=     282kB time=00:00:04.20 bitrate= 550.2kbits/
    frame=  178 fps= 48 q=28.0 size=     324kB time=00:00:05.04 bitrate= 527.2kbits/
    frame=  199 fps= 47 q=28.0 size=     362kB time=00:00:05.88 bitrate= 504.1kbits/
    frame=  219 fps= 46 q=28.0 size=     403kB time=00:00:06.68 bitrate= 494.2kbits/
    frame=  242 fps= 46 q=28.0 size=     452kB time=00:00:07.60 bitrate= 486.8kbits/
    frame=  251 fps= 38 q=-1.0 Lsize=     623kB time=00:00:09.96 bitrate= 512.3kbits
    /s speed=1.52x
    video:619kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing o
    verhead: 0.607807%
    [libx264 @ 00000092cd5e3700] frame I:2     Avg QP:21.74  size: 56596
    [libx264 @ 00000092cd5e3700] frame P:66    Avg QP:23.36  size:  2523
    [libx264 @ 00000092cd5e3700] frame B:183   Avg QP:31.50  size:  1932
    [libx264 @ 00000092cd5e3700] consecutive B-frames:  0.8%  4.0%  6.0% 89.2%
    [libx264 @ 00000092cd5e3700] mb I  I16..4: 10.9% 72.6% 16.5%
    [libx264 @ 00000092cd5e3700] mb P  I16..4:  0.0%  0.0%  0.2%  P16..4:  4.4%  2.3
    %  3.3%  0.0%  0.0%    skip:89.7%
    [libx264 @ 00000092cd5e3700] mb B  I16..4:  0.0%  0.0%  0.5%  B16..8:  3.2%  2.0
    %  2.3%  direct: 1.3%  skip:90.7%  L0:50.9% L1:42.2% BI: 7.0%
    [libx264 @ 00000092cd5e3700] 8x8 transform intra:50.2% inter:10.1%
    [libx264 @ 00000092cd5e3700] coded y,uvDC,uvAC intra: 83.4% 32.6% 14.2% inter: 3
    .5% 0.2% 0.0%
    [libx264 @ 00000092cd5e3700] i16 v,h,dc,p: 22%  8%  8% 62%
    [libx264 @ 00000092cd5e3700] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 12% 19%  6%  9%
     9%  9%  9%  9%
    [libx264 @ 00000092cd5e3700] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 14% 22%  6%  9%
     8%  8%  5%  6%
    [libx264 @ 00000092cd5e3700] i8c dc,h,v,p: 74% 12% 12%  2%
    [libx264 @ 00000092cd5e3700] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 00000092cd5e3700] ref P L0: 41.8%  3.9% 24.3% 30.0%
    [libx264 @ 00000092cd5e3700] ref B L0: 64.5% 25.0% 10.5%
    [libx264 @ 00000092cd5e3700] ref B L1: 82.2% 17.8%
    [libx264 @ 00000092cd5e3700] kb/s:504.56

在运行的程序中,您成功地使声音和视频同步,这可能意味着您在一个空闲的CPU上运行它

如果音乐和视频是两个独立的线程(据我所知),就不能保证CPU总是这样运行它们

因此,如果你想让你的最终视频.mp4同步,你必须在程序之外工作:将它们一起带到视频编辑软件并同步


但是如果你想让它们在程序中同步,你就可以了。

在运行的程序中,你成功地使声音和视频同步,这可能意味着你在一个空闲的CPU上运行它

如果音乐和视频是两个独立的线程(据我所知),就不能保证CPU总是这样运行它们

因此,如果你想让你的最终视频.mp4同步,你必须在程序之外工作:将它们一起带到视频编辑软件并同步


但是如果你想让它们在程序中同步,你就可以了。

有没有可能,在处理过程中实现的视频播放不是实时的,即你的代码/项目可能是25 fps,但由于处理负担,它在播放过程中以较低的速率输出帧,同时实时播放音频。我明白你的观点,但我不认为这是原因,因为动画是基于音乐频率的,当我在处理过程中播放视频时,动画与音乐的节拍匹配。与使用ffmpeg渲染时不同。我只是试着用Movie Maker渲染它,它做了完全相同的事情。这让我觉得问题在于我的处理代码。看到这个链接,我可能需要单独分析音频?不熟悉处理,所以不能说。但是,如果您将MP3转换为WAV,那么您当前的代码可能可以跟上。是否可能,处理过程中实现的视频播放不是实时的,即您的代码/项目可能是25 fps,但由于处理负担,它在播放过程中以较低的速率输出帧,同时实时播放音频。我明白您的观点,但我不认为这是原因,因为动画是基于音乐频率的,当我在处理过程中播放视频时,动画与音乐的节拍匹配。与使用ffmpeg渲染时不同。我只是试着用Movie Maker渲染它,它做了完全相同的事情。这让我觉得问题在于我的处理代码。看到这个链接,我可能需要单独分析音频?不熟悉处理,所以不能说。然而,如果你把MP3转换成WAV,那么你当前的代码也许能跟上。
    ffmpeg version N-77836-g62dfe1d Copyright (c) 2000-2016 the FFmpeg developers
      built with gcc 5.2.0 (GCC)
      configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
    isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
    le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
    enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
    ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
    le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
    able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
    ble-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
     --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enabl
    e-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --
    enable-lzma --enable-decklink --enable-zlib
      libavutil      55. 13.100 / 55. 13.100
      libavcodec     57. 22.100 / 57. 22.100
      libavformat    57. 21.101 / 57. 21.101
      libavdevice    57.  0.100 / 57.  0.100
      libavfilter     6. 23.100 /  6. 23.100
      libswscale      4.  0.100 /  4.  0.100
      libswresample   2.  0.101 /  2.  0.101
      libpostproc    54.  0.100 / 54.  0.100
    Input #0, image2, from 'C:\Users\Robert\Documents\Processing\AudioVisulizer\fram
    e-%04d.tif':
      Duration: 00:00:10.04, start: 0.000000, bitrate: N/A
        Stream #0:0: Video: tiff, rgb24, 728x546, 25 fps, 25 tbr, 25 tbn, 25 tbc
    [libx264 @ 00000092cd5e3700] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
    AVX FMA3 AVX2 LZCNT BMI2
    [libx264 @ 00000092cd5e3700] profile High, level 3.0
    [libx264 @ 00000092cd5e3700] 264 - core 148 r2638 7599210 - H.264/MPEG-4 AVC cod
    ec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 r
    ef=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed
    _ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pski
    p=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 deci
    mate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_
    adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=2
    5 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.6
    0 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to 'smallVid.mp4':
      Metadata:
        encoder         : Lavf57.21.101
        Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 728x54
    6, q=-1--1, 25 fps, 12800 tbn, 25 tbc
        Metadata:
          encoder         : Lavc57.22.100 libx264
        Side data:
          unknown side data type 10 (24 bytes)
    Stream mapping:
      Stream #0:0 -> #0:0 (tiff (native) -> h264 (libx264))
    Press [q] to stop, [?] for help
    frame=   52 fps=0.0 q=28.0 size=      77kB time=00:00:00.00 bitrate=N/A speed=
    frame=   74 fps= 65 q=28.0 size=     127kB time=00:00:00.88 bitrate=1178.0kbits/
    frame=   93 fps= 57 q=28.0 size=     164kB time=00:00:01.64 bitrate= 820.0kbits/
    frame=  113 fps= 52 q=28.0 size=     201kB time=00:00:02.44 bitrate= 676.3kbits/
    frame=  136 fps= 51 q=28.0 size=     245kB time=00:00:03.36 bitrate= 596.3kbits/
    frame=  157 fps= 49 q=28.0 size=     282kB time=00:00:04.20 bitrate= 550.2kbits/
    frame=  178 fps= 48 q=28.0 size=     324kB time=00:00:05.04 bitrate= 527.2kbits/
    frame=  199 fps= 47 q=28.0 size=     362kB time=00:00:05.88 bitrate= 504.1kbits/
    frame=  219 fps= 46 q=28.0 size=     403kB time=00:00:06.68 bitrate= 494.2kbits/
    frame=  242 fps= 46 q=28.0 size=     452kB time=00:00:07.60 bitrate= 486.8kbits/
    frame=  251 fps= 38 q=-1.0 Lsize=     623kB time=00:00:09.96 bitrate= 512.3kbits
    /s speed=1.52x
    video:619kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing o
    verhead: 0.607807%
    [libx264 @ 00000092cd5e3700] frame I:2     Avg QP:21.74  size: 56596
    [libx264 @ 00000092cd5e3700] frame P:66    Avg QP:23.36  size:  2523
    [libx264 @ 00000092cd5e3700] frame B:183   Avg QP:31.50  size:  1932
    [libx264 @ 00000092cd5e3700] consecutive B-frames:  0.8%  4.0%  6.0% 89.2%
    [libx264 @ 00000092cd5e3700] mb I  I16..4: 10.9% 72.6% 16.5%
    [libx264 @ 00000092cd5e3700] mb P  I16..4:  0.0%  0.0%  0.2%  P16..4:  4.4%  2.3
    %  3.3%  0.0%  0.0%    skip:89.7%
    [libx264 @ 00000092cd5e3700] mb B  I16..4:  0.0%  0.0%  0.5%  B16..8:  3.2%  2.0
    %  2.3%  direct: 1.3%  skip:90.7%  L0:50.9% L1:42.2% BI: 7.0%
    [libx264 @ 00000092cd5e3700] 8x8 transform intra:50.2% inter:10.1%
    [libx264 @ 00000092cd5e3700] coded y,uvDC,uvAC intra: 83.4% 32.6% 14.2% inter: 3
    .5% 0.2% 0.0%
    [libx264 @ 00000092cd5e3700] i16 v,h,dc,p: 22%  8%  8% 62%
    [libx264 @ 00000092cd5e3700] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 12% 19%  6%  9%
     9%  9%  9%  9%
    [libx264 @ 00000092cd5e3700] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 14% 22%  6%  9%
     8%  8%  5%  6%
    [libx264 @ 00000092cd5e3700] i8c dc,h,v,p: 74% 12% 12%  2%
    [libx264 @ 00000092cd5e3700] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 00000092cd5e3700] ref P L0: 41.8%  3.9% 24.3% 30.0%
    [libx264 @ 00000092cd5e3700] ref B L0: 64.5% 25.0% 10.5%
    [libx264 @ 00000092cd5e3700] ref B L1: 82.2% 17.8%
    [libx264 @ 00000092cd5e3700] kb/s:504.56