我試圖用ffmpeg
一組定時截圖來創建兩部電影,使用-f concat
來指定它們應該顯示的png截圖和持續時間。我主要從ffmpeg slideshow tutorial 和concat documentation。 Quicktime能夠毫無問題地打開我的ffmpeg生成的電影,但儘管使用相同的命令和腳本來創建它們,但無論我重新創建源屏幕截圖/持續時間多少次,iMovie都不會打開一個,也不會打開另一個。並重新創建視頻。ffmpeg concat iMovie導入 - 不一致的故障
我有兩個屏幕從我的輸入中捕獲並轉換爲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
輸出:
$ 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
兩個輸出文件的'ffmpeg -i'的輸出是什麼? – Mulvya
好問題 - 以上更新。 –
這可能是壞的電影低於幀率閾值。添加'-r 5'並檢查。 – Mulvya