ffmpeg
의 시간 초과 된 스크린 샷 세트를 사용하여 두 개의 동영상을 만들고, -f concat
을 사용하여 표시해야하는 png 스크린 샷과 재생 시간을 지정하려고합니다. 나는 대부분 ffmpeg slideshow tutorial 과 concat 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
2 개의 출력 파일에 대해'ffmpeg -i'의 결과는 무엇입니까? – Mulvya
좋은 질문 - 위 업데이트. –
나쁜 영화가 프레임 속도 임계 값 아래로 떨어 졌을 수 있습니다. '-r 5'를 추가하고 확인하십시오. – Mulvya