2017-10-04 5 views
0

ffmpeg의 시간 초과 된 스크린 샷 세트를 사용하여 두 개의 동영상을 만들고, -f concat을 사용하여 표시해야하는 png 스크린 샷과 재생 시간을 지정하려고합니다. 나는 대부분 ffmpeg slideshow tutorialconcat documentation에서 당기고있다. Quicktime은 아무런 문제없이 내 ffmpeg로 생성 된 영화를 모두 열 수 있지만 동일한 명령과 스크립트를 사용하여 동일한 명령 및 스크립트를 사용하더라도 iMovie는 소스 스크린 샷/재생 시간을 몇 번이나 만들었 든간에 아무 문제없이 열 수 있습니다. 동영상을 재생성합니다.ffmpeg 연결 가져 오기 - 일관되지 않은 오류

두 개의 화면이 내 입력에서 캡처되어 png로 변환되어 두 개의 동영상을 생성하여 iMovie로 가져와 동시에 표시합니다. 영화를 생성하려면, 나는 다음과 같은 명령을 사용하고 있습니다 :

ffmpeg -f concat -i win1input.txt -vsync vfr -pix_fmt yuv420p win1.mov 
ffmpeg -f concat -i win2input.txt -vsync vfr -pix_fmt yuv420p win2.mov 

경우 win1input.txt 및 win2input.txt 있습니다 (다른 파일 이름 및 시간과 같은 스크립트에서 생성) 본질적으로 동일 :

file 'win1-01.png' 
duration 3.07 
file 'win1-02.png' 
duration 2.55 
... 

두 영화가 모두 생성되고 불만없이 을 quicktime에서 열 수 있습니다. 그러나 iMovie로 가져 오기를 시도하면 첫 번째 동영상은 항상 정상적으로 가져오고 두 번째 항목은 "가져올 수없는 파일"오류가 발생하고 미디어 미리보기 창에 기간이 0입니다.

누구나 영화를보고 iMovie를 던질 수있는 방법을 찾으려고 제안 할 수 있습니까? 더 자세한 오류가 없으면 나는 붙어있다. 그리고 나는 그들이 같은 프로세스, 코덱 등으로부터 생성 되었기 때문에 두 가지의 차이점이 무엇인지에 대해 완전히 혼란 스럽습니다. 영화에 대한 추가 정보에 대한 도움이나 제안은 인정 될 것입니다! ffmpeg -i 출력

UPDATE : 나쁜 영화가 일부 필수 프레임 속도에 해당하는 것처럼 코멘트에 @mulvya에

$ ffmpeg -i badMovie.mov 

ffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers 
    built with Apple LLVM version 8.1.0 (clang-802.0.42) 
    configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libass --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl --enable-openssl --disable-lzma --enable-nonfree --enable-vda 
    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 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'badMovie.mov': 
    Metadata: 
    major_brand  : qt 
    minor_version : 512 
    compatible_brands: qt 
    encoder   : Lavf56.40.101 
    Duration: 00:02:09.84, start: 0.000000, bitrate: 36 kb/s 
    Stream #0:0(eng): Video: h264 (High) (avc1/0x31637661), yuv420p, 1280x800, 35 kb/s, 0.28 fps, 25 tbr, 12800 tbn, 50 tbc (default) 
Metadata: 
     handler_name : DataHandler 
     encoder   : Lavc56.60.100 libx264 


$ ffmpeg -i goodMovie.mov 
ffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers 
    built with Apple LLVM version 8.1.0 (clang-802.0.42) 
    configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.2 --enable-shared -- enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libass --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl --enable-openssl --disable-lzma --enable-nonfree --enable-vda 
    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 
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'goodMovie.mov': 
    Metadata: 
    major_brand  : qt 
    minor_version : 512 
    compatible_brands: qt 
    encoder   : Lavf56.40.101 
    Duration: 00:02:11.84, start: 0.000000, bitrate: 13 kb/s 
    Stream #0:0(eng): Video: h264 (High) (avc1/0x31637661), yuv420p, 1280x800, 13 kb/s, 0.64 fps, 25 tbr, 12800 tbn, 50 tbc (default) 
Metadata: 
    handler_name : DataHandler 
    encoder   : Lavc56.60.100 libx264 
+0

2 개의 출력 파일에 대해'ffmpeg -i'의 결과는 무엇입니까? – Mulvya

+0

좋은 질문 - 위 업데이트. –

+0

나쁜 영화가 프레임 속도 임계 값 아래로 떨어 졌을 수 있습니다. '-r 5'를 추가하고 확인하십시오. – Mulvya

답변

0

덕분에, 그것은 보인다. ffmpeg -i bad_movie.mov -r 5 bad_movie_fixed.mov으로 출력 동영상을 리샘플링하여이를 수정 한 것 같습니다.

(nb는 초기 생성 단계에서 -r을 포함하는 방법을 알 수 없으며,이 작업을 수행하는 방법을 이해할 수있는 유일한 방법은 처음부터 동영상을 만든 후에 별도의 다시 샘플로 사용하는 것입니다) .