2011-07-05 2 views
0

약간 이상한 형식의 비디오 파일이 있습니다. 일반 비디오 스트림이 있으며 텍스트 스트림도 있습니다.이 스트림은 비디오 프레임의 정확한 타임 스탬프를 저장하는 데 사용됩니다 (GPS 동기화 하드웨어 시계에서 가져옴). 여기 ffmpeg에서 출력 예입니다 :다른 스트림을 맹목적으로 복사하는 동안 AVI 비디오 스트림 압축

Input #0, avi, from 'in.avi': 
    Duration: 00:00:52.13, start: 0.000000, bitrate: 311033 kb/s 
    Stream #0.0: Video: rawvideo, rgb32, 658x492, 30 tbr, 30 tbn, 30 tbc 
    Stream #0.1: Data: 0x0000 

동영상은 압축되지 않은, 그래서 나는 그것을 압축하고 싶습니다. 해당 부분에 ffmpeg을 사용하고 있습니다. 문제는 데이터 스트림 # 0.1을 출력 파일에 완전히 바 꾸었습니다. 나는 노력했지만 노력했지만 어떤 방법으로도 찾을 수는 없다. ffmpeg. 오디오, 비디오 및 자막 스트림 만 처리하려고하며 텍스트가 유효한 자막 형식이 아닙니다. 동영상을 만든 사람이 막 퇴장 했으므로 입력 형식을 변경하는 것은 옵션이 아닙니다. 어떤 아이디어?

+0

여러 단계로 처리 되더라도 상관 없습니다.하지만 두 스트림 모두 마지막에 동일한 파일로 끝나야합니다. – rescdsk

+1

자연스러운 해결책 인'-map'을 이미 시도하고있는 것 같습니다. 짧은 샘플 비디오를 사용할 수 있습니까? 우리 중 대부분은 임의의 추가 데이터 트랙이있는 비디오가 없습니다. – blahdiblah

+0

관심을 가져 주셔서 감사합니다. 그러나 이것은 이전 직업 이었기 때문에 운 좋게 더 이상 내 문제가 아닙니다 .-) – rescdsk

답변

0

음, 당신이 여기 무엇을하려고 생각 해보자 :

  • 당신이 공간을 절약하고 아카이브가 그대로 갖고 싶어. 고귀한 생각. 그러나 비디오 파일의 용도는 무엇입니까? AVI 파일 안에 데이터 스트림이 있기 때문에 파일을 읽고 해당 파일을 처리하는 소프트웨어가있는 것으로 보입니다. 그렇다면이 소프트웨어는 압축 된 비디오를 전혀 읽을 수 있습니까?
  • 은 비디오 프레임 속도 상수입니까, 아니면 변경됩니까? 상수 일 경우 첫 번째 프레임의 시간을 추출 할 수 있고 파일을 사용할 때 각 프레임의 시간을 프로그램 적으로 계산할 수 있습니다.
  • AVI는 사용자가하려는 것을 처리하지 않습니다. 비디오 프레임에서 타임 스탬프까지 일대일 대응, 비디오 포장, KEYFRAMES 및 기타 비디오 데이터가있을 수 있으며 키 프레임 타임 스탬프 만 쓸 수 있기 때문에 지금 갖고있는 것을 가질 수 있습니다.
  • 파일을 사용하는 소프트웨어가 필요하지 않은 경우 비디오의 프레임에서 INSTALLAMPING INSTALL을 고려하고 데이터 스트림을 완전히 차단할 수 있습니까?

글쎄, 나는 대답으로 대답하고 싶지 않았지만, 당신의 질문은 너무 개방적이다.

EDIT : AVI 파일 ARE이 실제로 일정한 프레임 속도를 읽으므로 실제로 첫 번째 기술을 사용하고 첫 번째 프레임의 타임 스탬프를 일부 파일에 쓸 수 있습니다.

관련 문제