2017-11-05 12 views
0

私はPythonスクリプトの中から以下のコマンドを実行しようとしています。ffmpegコマンドはコマンドラインから動作しますが、pythonサブプロセスからは動作しません.Popen

ffmpeg -y -loglevel verbose -i /var/www/Intro30.mp4 -i /var/www/temp/videoHD.mp4 -i /var/www/Credits30.mp4 -filter_complex '[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] concat=n=3:v=1:a=1 [v] [a]' -map '[v]' -map '[a]' /var/www/temp/merged.mp4 

ただし、ファイルが壊れています。これが出力です。

ffmpeg version 3.3.4-2~16.04.york0 Copyright (c) 2000-2017 the FFmpeg developers 
    built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609 
    configuration: --prefix=/usr --extra-version='2~16.04.york0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared 
    libavutil  55. 58.100/55. 58.100 
    libavcodec  57. 89.100/57. 89.100 
    libavformat 57. 71.100/57. 71.100 
    libavdevice 57. 6.100/57. 6.100 
    libavfilter  6. 82.100/6. 82.100 
    libavresample 3. 5. 0/3. 5. 0 
    libswscale  4. 6.100/4. 6.100 
    libswresample 2. 7.100/2. 7.100 
    libpostproc 54. 5.100/54. 5.100 
[h264 @ 0x7f6d1ca0a7c0] Reinit context to 1920x1088, pix_fmt: yuv420p 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/Intro30.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder   : Lavf57.71.100 
    Duration: 00:00:02.93, start: 0.000000, bitrate: 3490 kb/s 
    Stream #0:0(und): Video: h264 (High), 1 reference frame (avc1/0x31637661), yuv420p(left), 1920x1080 (1920x1088), 3507 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default) 
    Metadata: 
     handler_name : VideoHandler 
    Stream #0:1(und): Audio: aac (LC) (mp4a/0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s (default) 
    Metadata: 
     handler_name : SoundHandler 
[h264 @ 0x7f6d1ca334e0] Reinit context to 1920x1088, pix_fmt: yuv420p 
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/temp/videoHD.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder   : Lavf57.71.100 
    Duration: 00:00:57.23, start: 0.000000, bitrate: 3087 kb/s 
    Stream #1:0(eng): Video: h264 (High), 1 reference frame (avc1/0x31637661), yuv420p(left), 1920x1080 (1920x1088), 2950 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default) 
    Metadata: 
     handler_name : VideoHandler 
    Stream #1:1(eng): Audio: aac (LC) (mp4a/0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default) 
    Metadata: 
     handler_name : SoundHandler 
[h264 @ 0x7f6d1ca307a0] Reinit context to 1920x1088, pix_fmt: yuv420p 
Input #2, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/Credits30.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder   : Lavf57.71.100 
    Duration: 00:00:14.14, start: 0.000000, bitrate: 5706 kb/s 
    Stream #2:0(und): Video: h264 (High), 1 reference frame (avc1/0x31637661), yuv420p(left), 1920x1080 (1920x1088), 5711 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default) 
    Metadata: 
     handler_name : VideoHandler 
    Stream #2:1(und): Audio: aac (LC) (mp4a/0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s (default) 
    Metadata: 
     handler_name : SoundHandler 
Stream mapping: 
    Stream #0:0 (h264) -> concat:in0:v0 
    Stream #0:1 (aac) -> concat:in0:a0 
    Stream #1:0 (h264) -> concat:in1:v0 
    Stream #1:1 (aac) -> concat:in1:a0 
    Stream #2:0 (h264) -> concat:in2:v0 
    Stream #2:1 (aac) -> concat:in2:a0 
    concat:out:v0 -> Stream #0:0 (libx264) 
    concat:out:a0 -> Stream #0:1 (aac) 
Press [q] to stop, [?] for help 
[h264 @ 0x7f6d1d1210e0] Reinit context to 1920x1088, pix_fmt: yuv420p 
[h264 @ 0x7f6d1cc07420] Reinit context to 1920x1088, pix_fmt: yuv420p 
[h264 @ 0x7f6d1cd449a0] Reinit context to 1920x1088, pix_fmt: yuv420p 
[graph 0 input from stream 0:0 @ 0x7f6d1d8f9400] w:1920 h:1080 pixfmt:yuv420p tb:1/15360 fr:30/1 sar:0/1 sws_param:flags=2 
[graph_0_in_0_1 @ 0x7f6d1d8ef520] tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:0x3 
[graph 0 input from stream 1:0 @ 0x7f6d1d1052a0] w:1920 h:1080 pixfmt:yuv420p tb:1/15360 fr:30/1 sar:0/1 sws_param:flags=2 
[graph_0_in_1_1 @ 0x7f6d1d105ac0] tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:0x3 
[graph 0 input from stream 2:0 @ 0x7f6d1d17fd20] w:1920 h:1080 pixfmt:yuv420p tb:1/15360 fr:30/1 sar:0/1 sws_param:flags=2 
[graph_0_in_2_1 @ 0x7f6d1d109d40] tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:0x3 
[libx264 @ 0x7f6d1ca9aaa0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2 
[libx264 @ 0x7f6d1ca9aaa0] profile High, level 4.0 
[libx264 @ 0x7f6d1ca9aaa0] 264 - core 148 r2795 aaa9aa8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=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_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=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=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 
Output #0, mp4, to '/var/www/temp/merged.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder   : Lavf57.71.100 
    Stream #0:0: Video: h264 (libx264), 1 reference frame ([33][0][0][0]/0x0021), yuv420p(progressive), 1920x1080, q=-1--1, 30 fps, 15360 tbn, 30 tbc (default) 
    Metadata: 
     encoder   : Lavc57.89.100 libx264 
    Side data: 
     cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 
    Stream #0:1: Audio: aac (LC) ([64][0][0][0]/0x0040), 44100 Hz, stereo, fltp, delay 1024, 128 kb/s (default) 
    Metadata: 
     encoder   : Lavc57.89.100 aac 
frame= 46 fps=0.0 q=0.0 size=  0kB time=00:00:01.62 bitrate= 0.0kbits/s speed=2.78x 

しかし、コマンドラインから実行すると、完全に実行されます。

ffmpeg version 3.3.4-2~16.04.york0 Copyright (c) 2000-2017 the FFmpeg developers 
    built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609 
    configuration: --prefix=/usr --extra-version='2~16.04.york0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared 
    libavutil  55. 58.100/55. 58.100 
    libavcodec  57. 89.100/57. 89.100 
    libavformat 57. 71.100/57. 71.100 
    libavdevice 57. 6.100/57. 6.100 
    libavfilter  6. 82.100/6. 82.100 
    libavresample 3. 5. 0/3. 5. 0 
    libswscale  4. 6.100/4. 6.100 
    libswresample 2. 7.100/2. 7.100 
    libpostproc 54. 5.100/54. 5.100 
[h264 @ 0x7f6dc62417c0] Reinit context to 1920x1088, pix_fmt: yuv420p 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/Intro30.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder   : Lavf57.71.100 
    Duration: 00:00:02.93, start: 0.000000, bitrate: 3490 kb/s 
    Stream #0:0(und): Video: h264 (High), 1 reference frame (avc1/0x31637661), yuv420p(left), 1920x1080 (1920x1088), 3507 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default) 
    Metadata: 
     handler_name : VideoHandler 
    Stream #0:1(und): Audio: aac (LC) (mp4a/0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s (default) 
    Metadata: 
     handler_name : SoundHandler 
[h264 @ 0x7f6dc626a4e0] Reinit context to 1920x1088, pix_fmt: yuv420p 
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/temp/videoHD.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder   : Lavf57.71.100 
    Duration: 00:00:57.23, start: 0.000000, bitrate: 3087 kb/s 
    Stream #1:0(eng): Video: h264 (High), 1 reference frame (avc1/0x31637661), yuv420p(left), 1920x1080 (1920x1088), 2950 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default) 
    Metadata: 
     handler_name : VideoHandler 
    Stream #1:1(eng): Audio: aac (LC) (mp4a/0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default) 
    Metadata: 
     handler_name : SoundHandler 
[h264 @ 0x7f6dc62677a0] Reinit context to 1920x1088, pix_fmt: yuv420p 
Input #2, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/Credits30.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder   : Lavf57.71.100 
    Duration: 00:00:14.14, start: 0.000000, bitrate: 5706 kb/s 
    Stream #2:0(und): Video: h264 (High), 1 reference frame (avc1/0x31637661), yuv420p(left), 1920x1080 (1920x1088), 5711 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default) 
    Metadata: 
     handler_name : VideoHandler 
    Stream #2:1(und): Audio: aac (LC) (mp4a/0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s (default) 
    Metadata: 
     handler_name : SoundHandler 
Stream mapping: 
    Stream #0:0 (h264) -> concat:in0:v0 
    Stream #0:1 (aac) -> concat:in0:a0 
    Stream #1:0 (h264) -> concat:in1:v0 
    Stream #1:1 (aac) -> concat:in1:a0 
    Stream #2:0 (h264) -> concat:in2:v0 
    Stream #2:1 (aac) -> concat:in2:a0 
    concat:out:v0 -> Stream #0:0 (libx264) 
    concat:out:a0 -> Stream #0:1 (aac) 
Press [q] to stop, [?] for help 
[h264 @ 0x7f6dc69580e0] Reinit context to 1920x1088, pix_fmt: yuv420p 
[h264 @ 0x7f6dc643e420] Reinit context to 1920x1088, pix_fmt: yuv420p 
[h264 @ 0x7f6dc657b9a0] Reinit context to 1920x1088, pix_fmt: yuv420p 
[graph 0 input from stream 0:0 @ 0x7f6dc712fda0] w:1920 h:1080 pixfmt:yuv420p tb:1/15360 fr:30/1 sar:0/1 sws_param:flags=2 
[graph_0_in_0_1 @ 0x7f6dc693c040] tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:0x3 
[graph 0 input from stream 1:0 @ 0x7f6dc693cb60] w:1920 h:1080 pixfmt:yuv420p tb:1/15360 fr:30/1 sar:0/1 sws_param:flags=2 
[graph_0_in_1_1 @ 0x7f6dc69b68a0] tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:0x3 
[graph 0 input from stream 2:0 @ 0x7f6dc69b74a0] w:1920 h:1080 pixfmt:yuv420p tb:1/15360 fr:30/1 sar:0/1 sws_param:flags=2 
[graph_0_in_2_1 @ 0x7f6dc6941460] tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:0x3 
[libx264 @ 0x7f6dc62d1aa0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2 
[libx264 @ 0x7f6dc62d1aa0] profile High, level 4.0 
[libx264 @ 0x7f6dc62d1aa0] 264 - core 148 r2795 aaa9aa8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=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_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=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=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 
Output #0, mp4, to '/var/www/temp/merged.mp4': 
    Metadata: 
    major_brand  : isom 
    minor_version : 512 
    compatible_brands: isomiso2avc1mp41 
    encoder   : Lavf57.71.100 
    Stream #0:0: Video: h264 (libx264), 1 reference frame ([33][0][0][0]/0x0021), yuv420p(progressive), 1920x1080, q=-1--1, 30 fps, 15360 tbn, 30 tbc (default) 
    Metadata: 
     encoder   : Lavc57.89.100 libx264 
    Side data: 
     cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 
    Stream #0:1: Audio: aac (LC) ([64][0][0][0]/0x0040), 44100 Hz, stereo, fltp, delay 1024, 128 kb/s (default) 
    Metadata: 
     encoder   : Lavc57.89.100 aac 
frame= 46 fps=0.0 q=0.0 size=  0kB time=00:00:01.62 bitrate= 0.0kbits/sframe= 64 fps= 59 q=29.0 size=  289kB time=00:00:02.22 bitrate=1062.4kbits/frame= 83 fps= 48 q=29.0 size=  762kB time=00:00:02.85 bitrate=2186.9kbits/[Parsed_concat_0 @ 0x7f6dc69b5ca0] EOF on in0:v0, 1 streams left in segment. 
[Parsed_concat_0 @ 0x7f6dc69b5ca0] EOF on in0:a0, 0 streams left in segment. 
[Parsed_concat_0 @ 0x7f6dc69b5ca0] Segment finished at pts=2902494 
frame= 104 fps= 46 q=29.0 size=  908kB time=00:00:03.55 bitrate=2094.5kbits/frame= 123 fps= 44 q=29.0 size= 1048kB time=00:00:04.17 bitrate=2053.3kbits/frame= 140 fps= 42 q=29.0 size= 1215kB time=00:00:04.76 bitrate=2091.1kbits/frame= 149 fps= 38 q=29.0 size= 1374kB time=00:00:05.06 bitrate=2223.4kbits/frame= 161 fps= 35 q=29.0 size= 1528kB time=00:00:05.45 bitrate=2293.6kbits/frame= 173 fps= 34 q=29.0 size= 1695kB time=00:00:05.82 bitrate=2382.5kbits/frame= 180 fps= 32 q=29.0 size= 1784kB time=00:00:06.08 bitrate=2402.4kbits/frame= 193 fps= 32 q=29.0 size= 1959kB time=00:00:06.50 bitrate=2468.6kbits/frame= 200 fps= 30 q=29.0 size= 2052kB time=00:00:06.75 bitrate=2487.8kbits/frame= 211 fps= 30 q=29.0 size= 2221kB time=00:00:07.12 bitrate=2552.6kbits/frame= 221 fps= 29 q=29.0 size= 2303kB time=00:00:07.45 bitrate=2530.9kbits/frame= 232 fps= 28 q=29.0 size= 2433kB time=00:00:07.82 bitrate=2547.0kbits/frame= 245 fps= 28 q=29.0 size= 2560kB time=00:00:08.26 bitrate=2536.7kbits/frame= 255 fps= 28 q=29.0 size= 2684kB time=00:00:08.59 bitrate=2558.9kbits/frame= 264 fps= 27 q=29.0 size= 2776kB time=00:00:08.89 bitrate=2557.5kbits/frame= 275 fps= 27 q=29.0 size= 2894kB time=00:00:09.26 bitrate=2559.0kbits/frame= 285 fps= 26 q=29.0 size= 3028kB time=00:00:09.58 bitrate=2586.3kbits/frame= 295 fps= 26 q=29.0 size= 3172kB time=00:00:09.91 bitrate=2621.2kbits/frame= 303 fps= 25 q=29.0 size= 3277kB time=00:00:10.19 bitrate=2633.9kbits/frame= 314 fps= 25 q=29.0 size= 3475kB time=00:00:10.56 bitrate=2694.1kbits/frame= 322 fps= 24 q=29.0 size= 3584kB time=00:00:10.82 bitrate=2713.7kbits/frame= 330 fps= 24 q=29.0 size= 3694kB time=00:00:11.09 bitrate=2726.3kbits/frame= 336 fps= 24 q=29.0 size= 3774kB time=00:00:11.30 bitrate=2733.9kbits/frame= 344 fps= 23 q=29.0 size= 3882kB time=00:00:11.56 bitrate=2750.3kbits/frame= 353 fps= 23 q=29.0 size= 4016kB time=00:00:11.86 bitrate=2772.5kbits/frame= 363 fps= 23 q=29.0 size= 4165kB time=00:00:12.19 bitrate=2798.7kbits/frame= 371 fps= 22 q=29.0 size= 4263kB time=00:00:12.46 bitrate=2800.6kbits/frame= 381 fps= 22 q=29.0 size= 4429kB time=00:00:12.79 bitrate=2835.7kbits/frame= 388 fps= 22 q=29.0 size= 4557kB time=00:00:13.02 bitrate=2865.6kbits/frame= 397 fps= 22 q=29.0 size= 4678kB time=00:00:13.32 bitrate=2875.5kbits/frame= 406 fps= 22 q=29.0 size= 4773kB time=00:00:13.63 bitrate=2868.5kbits/frame= 414 fps= 21 q=29.0 size= 4871kB time=00:00:13.88 bitrate=2873.6kbits/frame= 419 fps= 21 q=29.0 size= 4954kB time=00:00:14.04 bitrate=2888.6kbits/frame= 427 fps= 21 q=29.0 size= 5046kB time=00:00:14.32 bitrate=2885.1kbits/frame= 435 fps= 21 q=29.0 size= 5141kB time=00:00:14.58 bitrate=2888.2kbits/frame= 443 fps= 21 q=29.0 size= 5232kB time=00:00:14.86 bitrate=2884.1kbits/frame= 452 fps= 20 q=29.0 size= 5333kB time=00:00:15.16 bitrate=2881.5kbits/frame= 463 fps= 20 q=29.0 size= 5442kB time=00:00:15.53 bitrate=2869.9kbits/frame= 472 fps= 20 q=29.0 size= 5552kB time=00:00:15.81 bitrate=2876.5kbits/frame= 479 fps= 20 q=29.0 size= 5663kB time=00:00:16.06 bitrate=2887.2kbits/frame= 489 fps= 20 q=29.0 size= 5798kB time=00:00:16.39 bitrate=2897.4kbits/frame= 499 fps= 20 q=29.0 size= 5918kB time=00:00:16.71 bitrate=2899.9kbits/frame= 509 fps= 20 q=29.0 size= 6043kB time=00:00:17.06 bitrate=2900.5kbits/frame= 521 fps= 20 q=29.0 size= 6191kB time=00:00:17.46 bitrate=2904.7kbits/frame= 533 fps= 20 q=29.0 size= 6304kB time=00:00:17.85 bitrate=2892.0kbits/frame= 542 fps= 20 q=29.0 size= 6391kB time=00:00:18.15 bitrate=2883.5kbits/frame= 553 fps= 20 q=29.0 size= 6525kB time=00:00:18.52 bitrate=2884.9kbits/frame= 563 fps= 20 q=29.0 size= 6635kB time=00:00:18.85 bitrate=2882.8kbits/frame= 573 fps= 20 q=29.0 size= 6740kB time=00:00:19.17 bitrate=2878.9kbits/frame= 585 fps= 20 q=29.0 size= 6868kB time=00:00:19.59 bitrate=2870.8kbits/frame= 595 fps= 20 q=29.0 size= 6986kB time=00:00:19.92 bitrate=2872.6kbits/frame= 606 fps= 20 q=29.0 size= 7095kB time=00:00:20.29 bitrate=2864.1kbits/frame= 617 fps= 20 q=29.0 size= 7237kB time=00:00:20.66 bitrate=2868.8kbits/frame= 629 fps= 20 q=29.0 size= 7452kB time=00:00:21.06 bitrate=2898.8kbits/frame= 639 fps= 20 q=29.0 size= 7566kB time=00:00:21.38 bitrate=2898.1kbits/frame= 647 fps= 20 q=29.0 size= 7684kB time=00:00:21.66 bitrate=2905.7kbits/frame= 657 fps= 20 q=29.0 size= 7807kB time=00:00:21.98 bitrate=2908.3kbits/frame= 667 fps= 20 q=29.0 size= 7919kB time=00:00:22.31 bitrate=2907.3kbits/frame= 677 fps= 20 q=29.0 size= 8046kB time=00:00:22.66 bitrate=2908.3kbits/frame= 687 fps= 20 q=29.0 size= 8156kB time=00:00:22.98 bitrate=2906.7kbits/frame= 699 fps= 20 q=29.0 size= 8294kB time=00:00:23.38 bitrate=2905.9kbits/frame= 711 fps= 20 q=29.0 size= 8414kB time=00:00:23.80 bitrate=2896.2kbits/frame= 722 fps= 20 q=29.0 size= 8510kB time=00:00:24.14 bitrate=2887.0kbits/frame= 733 fps= 20 q=29.0 size= 8630kB time=00:00:24.52 bitrate=2883.1kbits/frame= 745 fps= 20 q=29.0 size= 8751kB time=00:00:24.91 bitrate=2877.3kbits/frame= 756 fps= 20 q=29.0 size= 8857kB time=00:00:25.28 bitrate=2869.5kbits/frame= 766 fps= 20 q=29.0 size= 8979kB time=00:00:25.63 bitrate=2869.5kbits/frame= 777 fps= 20 q=29.0 size= 9088kB time=00:00:25.98 bitrate=2865.3kbits/frame= 787 fps= 20 q=29.0 size= 9187kB time=00:00:26.33 bitrate=2858.1kbits/frame= 798 fps= 20 q=29.0 size= 9308kB time=00:00:26.67 bitrate=2858.0kbits/frame= 808 fps= 20 q=29.0 size= 9400kB time=00:00:27.02 bitrate=2849.1kbits/frame= 820 fps= 20 q=29.0 size= 9554kB time=00:00:27.42 bitrate=2854.2kbits/frame= 830 fps= 20 q=29.0 size= 9662kB time=00:00:27.74 bitrate=2852.4kbits/frame= 842 fps= 20 q=29.0 size= 9778kB time=00:00:28.16 bitrate=2843.9kbits/frame= 854 fps= 20 q=29.0 size= 9886kB time=00:00:28.56 bitrate=2835.6kbits/frame= 864 fps= 20 q=29.0 size= 9992kB time=00:00:28.88 bitrate=2833.9kbits/frame= 876 fps= 20 q=29.0 size= 10112kB time=00:00:29.28 bitrate=2829.2kbits/frame= 889 fps= 19 q=29.0 size= 21309kB time=00:00:58.00 bitrate=3009.5kbits/frame= 1750 fps= 19 q=29.0 size= 21427kB time=00:00:58.42 bitrate=3004.5kbits/frame= 1761 fps= 19 q=29.0 size= 21553kB time=00:00:58.79 bitrate=3003.1kbits/frame= 1771 fps= 19 q=29.0 size= 21669kB time=00:00:59.11 bitrate=3002.7kbits/frame= 1783 fps= 19 q=29.0 size= 21787kB time=00:00:59.51 bitrate=2999.0kbits/frame= 1793 fps= 19 q=29.0 size= 21902kB time=00:00:59.86 bitrate=2997.3kbits/[Parsed_concat_0 @ 0x7f6dc69b5ca0] EOF on in1:v0, 1 streams left in segment. 
[Parsed_concat_0 @ 0x7f6dc69b5ca0] EOF on in1:a0, 0 streams left in segment. 
[Parsed_concat_0 @ 0x7f6dc69b5ca0] Segment finished at pts=60135827 
frame= 1805 fps= 19 q=29.0 size= 21990kB time=00:01:00.23 bitrate=2990.7kbits/frame= 1816 fps= 19 q=29.0 size= 22117kB time=00:01:00.60 bitrate=2989.6kbits/frame= 1830 fps= 19 q=29.0 size= bitrate=3521.1kbits/frame= 2194 fps= 19 q=29.0 size= 31450kB time=00:01:13.21 bitrate=3519.0kbits/frame= 2213 fps= 19 q=29.0 size= 31591kB time=00:01:13.83 bitrate=3504.9kbits/[Parsed_concat_0 @ 0x7f6dc69b5ca0] EOF on in2:v0, 1 streams left in segment. 
[Parsed_concat_0 @ 0x7f6dc69b5ca0] EOF on in2:a0, 0 streams left in segment. 
[Parsed_concat_0 @ 0x7f6dc69b5ca0] Segment finished at pts=74253559 
No more output streams to write to, finishing. 
frame= 2227 fps= 19 q=-1.0 Lsize= 32179kB time=00:01:14.25 bitrate=3549.9kbits/s speed=0.633x  
video:31198kB audio:901kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.247438% 
Input file #0 (/var/www/Intro30.mp4): 
    Input stream #0:0 (video): 87 packets read (1271526 bytes); 87 frames decoded; 
    Input stream #0:1 (audio): 126 packets read (773 bytes); 125 frames decoded (128000 samples); 
    Total: 213 packets (1272299 bytes) demuxed 
Input file #1 (/var/www/temp/videoHD.mp4): 
    Input stream #1:0 (video): 1717 packets read (21108999 bytes); 1717 frames decoded; 
    Input stream #1:1 (audio): 2464 packets read (918725 bytes); 2463 frames decoded (2522112 samples); 
    Total: 4181 packets (22027724 bytes) demuxed 
Input file #2 (/var/www/Credits30.mp4): 
    Input stream #2:0 (video): 423 packets read (10066322 bytes); 423 frames decoded; 
    Input stream #2:1 (audio): 609 packets read (3705 bytes); 608 frames decoded (622592 samples); 
    Total: 1032 packets (10070027 bytes) demuxed 
Output file #0 (/var/www/temp/merged.mp4): 
    Output stream #0:0 (video): 2227 frames encoded; 2227 packets muxed (31946574 bytes); 
    Output stream #0:1 (audio): 3198 frames encoded (3274582 samples); 3199 packets muxed (923102 bytes); 
    Total: 5426 packets (32869676 bytes) muxed 
[libx264 @ 0x7f6dc62d1aa0] frame I:19 Avg QP:18.19 size:110490 
[libx264 @ 0x7f6dc62d1aa0] frame P:851 Avg QP:21.97 size: 23670 
[libx264 @ 0x7f6dc62d1aa0] frame B:1357 Avg QP:25.31 size: 7150 
[libx264 @ 0x7f6dc62d1aa0] consecutive B-frames: 3.1% 44.8% 6.1% 46.0% 
[libx264 @ 0x7f6dc62d1aa0] mb I I16..4: 31.3% 59.2% 9.6% 
[libx264 @ 0x7f6dc62d1aa0] mb P I16..4: 4.5% 11.6% 0.7% P16..4: 40.9% 8.2% 2.5% 0.0% 0.0% skip:31.6% 
[libx264 @ 0x7f6dc62d1aa0] mb B I16..4: 0.5% 1.2% 0.2% B16..8: 28.5% 2.0% 0.2% direct: 1.0% skip:66.3% L0:42.2% L1:55.1% BI: 2.8% 
[libx264 @ 0x7f6dc62d1aa0] 8x8 transform intra:67.4% inter:89.6% 
[libx264 @ 0x7f6dc62d1aa0] coded y,uvDC,uvAC intra: 39.8% 43.5% 4.0% inter: 7.8% 12.4% 0.1% 
[libx264 @ 0x7f6dc62d1aa0] i16 v,h,dc,p: 25% 33% 18% 24% 
[libx264 @ 0x7f6dc62d1aa0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 24% 25% 3% 5% 5% 6% 4% 5% 
[libx264 @ 0x7f6dc62d1aa0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 30% 14% 5% 6% 5% 6% 4% 7% 
[libx264 @ 0x7f6dc62d1aa0] i8c dc,h,v,p: 58% 20% 17% 4% 
[libx264 @ 0x7f6dc62d1aa0] Weighted P-Frames: Y:0.8% UV:0.2% 
[libx264 @ 0x7f6dc62d1aa0] ref P L0: 73.9% 12.2% 11.3% 2.7% 0.0% 
[libx264 @ 0x7f6dc62d1aa0] ref B L0: 92.1% 6.8% 1.1% 
[libx264 @ 0x7f6dc62d1aa0] ref B L1: 98.4% 1.6% 
[libx264 @ 0x7f6dc62d1aa0] kb/s:3442.75 
[aac @ 0x7f6dc62dd100] Qavg: 18520.436 

一部の行が削除され、行の制限を超えません。

私がffmpeg行を実行するために使用するpythonメソッドです。

def ffmpeg(args): 
    err = None 
    command = [ 
     ffmpegcmd, '-y', 
     '-loglevel', loglevel 
    ] + args 
    ffmpeg = subprocess.Popen(command, stderr=subprocess.PIPE ,stdout=subprocess.PIPE, universal_newlines=True) 
    while err == None: 
     out, err = ffmpeg.communicate() 
     time.sleep(1) 
    if err: 
     print(" ".join(command)) 
     raise Exception(err) 

*編集

私は、引数、すなわち周りの単一引用符が必要なコマンドを使用する必要があり、これまで'[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] concat=n=3:v=1:a=1 [v] [a]'上記の機能は動作しません。だから私は文字列としてコマンドを扱うケースのための別の関数を作った。ここがあります。

def ffmpegStr(args): 
    err = None 
    command = [ 
     ffmpegcmd, '-y', 
     '-loglevel', loglevel 
    ] + args 
    commandStr = " ".join(command) 
    print(commandStr) 
    ffmpeg = subprocess.Popen(shlex.split(commandStr), stderr=subprocess.PIPE ,stdout=subprocess.PIPE, universal_newlines=True) 
    while err == None: 
     out, err = ffmpeg.communicate() 
     time.sleep(1) 
    if err: 
     print(commandStr) 
     raise Exception(err) 

ご覧のとおり、サブプロセスに何が渡されているかを確認するためにプリントを追加しました.Popen機能。これは、ffmpegコマンドが期待どおりに実行されない場合に使用される方法です。

変数としてffmpegcmdを使用するので、必要に応じて両方の関数で1つの変更を加えてffmpegのバージョンを変更できます。

argsは、私がffmpegにしたいものに固有の引数のリストです。

また、両方の関数のログレベルを1行で変更するオプションがあるので、変数を使用してください。

*エンド編集

なぜそれがどのように扱われるかの違い?

乾杯、

ステュー

+0

... 'command'の価値は何ですか? –

+1

最初のログは切り捨てられています。 – Mulvya

+2

'ffmpeg()'関数の呼び出し方法、 'args'の値、' Popen() 'に渡された' command'の値は何ですか? – mhawke

答えて

1

あなたは、引数で単一引用符を含めるべきではありません。コマンドラインから実行すると、ffmpegは単一引用符を表示しません。シェルはそれらを見て、一重引用符間のすべてが単一の引数として取られなければならないことを理解しているので、ffmpegを実行すると、一重引用符を使用せずにその単一の引数を渡します。コマンドラインで実行しているものと一致する

、あなたが望む:

args = ["-i", "/var/www/Intro30.mp4", 
     "-i", "/var/www/temp/videoHD.mp4", 
     "-i", "/var/www/Credits30.mp4", 
     "-filter_complex", "[0:0] [0:1] [1:0] [1:1] [2:0] [2:1] concat=n=3:v=1:a=1 [v] [a]", 
     "-map", "[v]", 
     "-map", "[a]", 
     "/var/www/temp/merged.mp4"] 
ffmpeg(args) 

、証明偽ffmpegコマンドを作成し、それをテストするには:

$ vi /tmp/ffmpeg 
$ chmod 755 /tmp/ffmpeg 
$ cat /tmp/ffmpeg 
#!/bin/bash 

# Fake ffmpeg 
COUNT=0 
for arg; do 
    echo "arg $COUNT: $arg" 
    COUNT=$((COUNT+1)) 
done 

今偽ffmpegを実行します通常は を一重引用符で囲みます:

$ /tmp/ffmpeg -map '[v]' 
arg 0: -map 
arg 1: [v] 

ffmpegには一重引用符は表示されません。

今のPythonからそれを試してみてください。

$ python 
Python 2.7.6 (default, Oct 26 2016, 20:30:19) 
[GCC 4.8.4] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import subprocess 
>>> import time 
>>> def ffmpeg(args): 
...  err = None 
...  command = ["/tmp/ffmpeg"] + args 
...  ffmpeg = subprocess.Popen(command, stderr=subprocess.PIPE, stdout=subprocess.PIPE, universal_newlines=True) 
...  while err == None: 
...   out, err = ffmpeg.communicate() 
...   time.sleep(1) 
...  if err: 
...   print(" ".join(command)) 
...   raise Exception(err) 
...  print(out) 
... 
>>> ffmpeg(["-map", "'[v]'"]) 
arg 0: -map 
arg 1: '[v]' 

>>> ffmpeg(["-map", "[v]"]) 
arg 0: -map 
arg 1: [v] 

>>> 

ffmpeg()は、単一引用符で呼び出されたときに、偽の ffmpegは、単一引用符を見たこと。

しかし、ffmpeg()が一重引用符なしで呼び出された場合、偽のffmpegはコマンドラインから実行されたときと同じように表示されませんでした。

+0

OK、ありがとう、これで同じように反応するようになりました。このスクリプトはPython3とFFMPEGの古いバージョンで何ヶ月も働いていましたが、更新直後にもうまくいっていました。しかし、突然それが変わった。とにかく、それは別の問題を提起しましたが、これは正しく答えるので別の質問が必要になります。 –

関連する問題