HLS 스트리밍을 녹화하고 있는데 FLV 컨테이너에 저장하고 싶습니다.
내 ffmpeg의 cmd는 다음과 같습니다.
/.../recorder/class/ffmpeg-2.6.1-32bit-static/./ffmpeg -i http://server/url/playlist.m3u8 -b:a 128K -acodec libmp3lame -ar 44100 -write_xing 0 -y -b:v 512K -vcodec flv -t 1860 /tmp/test.flv
녹음이 시작되지만 콘솔 출력에는 다음과 같은 내용이 많이 표시됩니다.Past duration 0.XXXXXX too large
이 경고는 무엇을 의미합니까? 어떻게 해결할 수 있나요?
이것은 입력 정보의 콘솔 출력입니다.
ffmpeg version 2.6.1- http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (Debian 4.9.2-10)
configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --cc=gcc-4.9
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, hls,applehttp, from 'http://server/url/playlist.m3u8':
Duration: N/A, start: 35483.191100, bitrate: N/A
Program 0
Metadata:
variant_bitrate : 303609
Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p, 320x180 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 90k tbn, 60 tbc
Metadata:
variant_bitrate : 303609
Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, mono, fltp, 67 kb/s
Metadata:
variant_bitrate : 303609
이 문제를 어떻게 해결합니까?
답변1
이 게시물대답은 다음과 같습니다. "2015년 1월 15일 이후 FFMpeg 버전에서는 이 경고가 자주 표시됩니다. 속도 제어 왜곡 가능성에 대해 경고하기 위해 추가되었습니다. 그렇지 않으면 아무런 해를 끼치지 않습니다."
"입력 스트림의 프리젠테이션 시간(pts)이 출력 스트림의 프리젠테이션 시간(pts)이 0.6으로 설정된 고정 제한 이상으로 다를 때" 트리거되는 것으로 보입니다.
답변2
새로운 "기능"인 것 같습니다.ffmpeg 스팸 "지난 기간 xy가 너무 큼" 메시지
ffmpeg 버전 2.6.2에서는 프레임 정보(frame=...)당 한 번 기록되고 2.6.git에서는 대부분 기록 시작 시 발생하고 불규칙한 간격으로 발생합니다.