가능한 중복 : 그것은 시간 매개 변수에 올 때
최근
ffmpeg: videos before and after conversion aren't the same length는 FFmpeg 부정확 한 출력
, 나는 매우 정확한 조작을 필요로하는 응용 프로그램에는 FFmpeg를 사용하려고했습니다 (밀리 초 해상도). 불행히도 FFmpeg의 조작 기능이 일부 부정 확한 결과를 반환한다는 사실에 놀랐습니다. ,의 난 'foo.mov'의 오디오 트랙을 추출 할 가정하자 이제
ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers
built on Jul 25 2012 19:55:05 with gcc 4.2.1 (Apple Inc. build 5664)
configuration: --enable-gpl --enable-shared --enable-pthreads --enable-libx264 --enable-libmp3lame
libavutil 51. 54.100/51. 54.100
libavcodec 54. 23.100/54. 23.100
libavformat 54. 6.100/54. 6.100
libavdevice 54. 0.100/54. 0.100
libavfilter 2. 77.100/2. 77.100
libswscale 2. 1.100/2. 1.100
libswresample 0. 15.100/0. 15.100
libpostproc 52. 0.100/52. 0.100
: 여기
이 '는 FFmpeg'의 출력입니다. : 00 : 40.38 당신은 아마 눈치Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'foo.mov':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2012-07-24 23:16:08
Duration: 00:00:40.38, start: 0.000000, bitrate: 805 kb/s
Stream #0:0(und): Video: h264 (Baseline) (avc1/0x31637661), yuv420p, 480x360, 733 kb/s, 24.46 fps, 29.97 tbr, 600 tbn, 1200 tbc
Metadata:
rotate : 90
creation_time : 2012-07-24 23:16:08
handler_name : Core Media Data Handler
Stream #0:1(und): Audio: aac (mp4a/0x6134706D), 44100 Hz, mono, s16, 63 kb/s
Metadata:
creation_time : 2012-07-24 23:16:08
handler_name : Core Media Data Handler
, 비디오 파일의 지속 시간이 00 : 여기에 '는 FFmpeg -i foo.mov'관련 출력됩니다.
이가 출력
'는 FFmpeg -i foo.mov의 foo.wav' : 당신이 볼 수 있듯이
Output #0, wav, to 'foo.wav':
Metadata:
major_brand : qt
minor_version : 0
compatible_brands: qt
creation_time : 2012-07-24 23:16:08
encoder : Lavf54.6.100
Stream #0:0(und): Audio: pcm_s16le ([1][0][0][0]/0x0001), 44100 Hz, mono, s16, 705 kb/s
Metadata:
creation_time : 2012-07-24 23:16:08
handler_name : Core Media Data Handler
Stream mapping:
Stream #0:1 -> #0:0 (aac -> pcm_s16le)
Press [q] to stop, [?] for help
size=3482kB time=00:00:40.42 bitrate= 705.6kbits/s
video:0kB audio:3482kB global headers:0kB muxing overhead 0.001290%
는, 출력 파일이 이상하다 다음 명령을 사용하여, 나는 그것이 오디오 트랙의 리핑 입력 파일.
또 다른 예는 오디오 (및 비디오) 파일 트리밍입니다. 오디오 파일 트리밍에 ffmpeg를 사용한다고 가정합시다. 나는 다음 명령을 사용 :
'는 FFmpeg은 -t 00 : 00 : 10.000 -i foo.wav의 trimmed_foo.wav -ss 00 : 00 : 25.000'
출력 :
[wav @ 0x10180e800] max_analyze_duration 5000000 reached at 5015510
Guessed Channel Layout for Input Stream #0.0 : mono
Input #0, wav, from 'foo.wav':
Duration: 00:00:40.42, bitrate: 705 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0]/0x0001), 44100 Hz, mono, s16, 705 kb/s
Output #0, wav, to 'trimmed_foo.wav':
Metadata:
encoder : Lavf54.6.100
Stream #0:0: Audio: pcm_s16le ([1][0][0][0]/0x0001), 44100 Hz, mono, s16, 705 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (pcm_s16le -> pcm_s16le)
Press [q] to stop, [?] for help
size=864kB time=00:00:10.03 bitrate= 705.6kbits/s
video:0kB audio:864kB global headers:0kB muxing overhead 0.005199%
다시, 출력 파일은 예상보다 30 밀리 초 더 길다.
오랫동안 아무런 문제없이 연구를 시도했습니다. 동일한 기능에 대해 대담성을 사용하면 매우 정확하게 수행됩니다.
누구든지이 문제를 해결하는 방법을 알고 있습니까?
덕분에 많은 도움을 받았습니다. – Shlomi
명령 문제에 대한 요점이 내 문제를 해결했습니다.이 문제는 거칠 었습니다 (분 단위가 아닌 초 단위). – klausnrooster