나는 변환이 끝날 때 남은 시간을 보여주기 때문에 비디오 파일을 변환하는 것을 좋아합니다 mencoder
(반대 ffmpeg
).
mencoder file.wmv -ofps 23.976 -ovc lavc -oac copy -o file.avi
문제는 생성된 파일의 품질이 입력 파일과 동일하지 않다는 것입니다. 가지고 있으면 선택이 ffmpeg
있습니다 . 동일한 품질을 달성 sameq
하는 유사한 옵션이 있습니까 ?mencoder
단지 내 인식인가요, 아니면 동일한 품질을 달성할 때 mencoder가 ffmpeg보다 더 빠릅니까?
감사해요
답변1
자, 먼저 할 일이...
ffmpeg의 Sameq 옵션은 동일한 품질을 의미하지 않으며 많은 경우 관련 작업을 수행하지 않습니다.
이것은 ffmpeg 매뉴얼 페이지에서 가져온 것입니다:
-sameq
Use same quantizer as source (implies VBR).
이것은 실제로 ffmpeg 온라인 문서에서 가져온 것입니다.
‘-same_quant’
Use same quantizer as source (implies VBR).
Note that this is NOT SAME QUALITY. Do not use this option unless you know you need it.
여기에서 보실 수 있습니다http://ffmpeg.org/ffmpeg.html, same_Quant(sameq와 동일)를 검색하세요.
알겠습니다. 이제 문제가 해결되었습니다.
변환을 통해 정확히 무엇을 달성하고 싶은지 모르겠지만 제가 열거하고 도움을 드리고자 하는 두 가지 가능성이 있습니다.
당신은 단지 변화하고 싶어컨테이너비디오 코덱이 아닌 컨테이너는 비디오를 재생하려는 소프트웨어에 콘텐츠 구성 방법을 알려주는 데이터로, FPS, 비디오 코덱, 오디오 코덱 및 데이터 저장 방법에 대한 정보가 포함되어 있습니다. 영상이 물이라면 용기는 유리병, 만화병, 플라스틱병이 될 수 있습니다. 이 경우 컨테이너는 wmv, avi, mp4, mov 등입니다. 모든 컨테이너가 모든 코덱을 지원하는 것은 아니며 모든 소프트웨어가 모든 컨테이너를 지원하는 것은 아니기 때문에 컨테이너가 중요합니다. 컨테이너를 올바르게 가져올 수는 있지만 내부 비디오의 코덱이 잘못된 경우 여전히 운이 좋지 않다는 점을 명심하세요. 따라서 컨테이너를 변경하려는 경우 다음을 사용할 수 있습니다.
mencoder file.wmv -ofps 23.976 -ovc copy -oac copy -o file.avi
당신은 변화하려고 노력하고 있습니다코덱. 코덱은 비디오가 인코딩되는 방식을 실제로 설명하는 알고리즘 또는 사양 집합이며, 코덱마다 품질 출력, 크기, 매개변수 등이 다릅니다. 이제 상황이 좀 더 까다로워지는데, 컨테이너를 변경할 때 비디오를 복제하는 대신 실제로 복사할 수 있습니다. 품질 손실(컨테이너만 변경하므로) 코덱을 변경하면 품질이 약간 손실되지만 대부분의 경우 두 코덱이 모두 양호하고 올바른 매개변수로 구성된 경우 한 번의 변환에서는 많은 것을 눈치채지 못할 것입니다(고유한 특성입니다). 코덱이 비디오를 압축하는 방식).
ffmpeg와 mencoder의 품질이 다르다고 추측할 수 있지만 두 가지 중 하나가 발생해야 합니다.
- 컨테이너를 변경하기만 하면 ffmpeg가 이를 감지하고 비디오만 복사합니다. (이런 경우 mencoder에서는 -ovc copy를 사용하세요)
코덱을 변경해야 하며 ffmpeg는 비디오를 다시 압축하기 위해 더 나은 코덱/매개변수를 선택합니다. 이 경우 ffmpeg가 사용하는 코덱이 무엇인지 확인하거나(여기에 게시할 수 없는 경우 살펴보겠습니다) 다음과 같이 다른 코드로 mencoder를 사용해 보십시오(현재는 아무것도 지정하지 않았습니다).
mencoder file.wmv -ofps 23.976 -ovc lavc -lavcopts vcodec=mpeg4 -oac copy -o file.avi
이는 ISO 표준 MPEG-4(DivX 5, XVID 호환)를 사용합니다. 물론 재변환에 사용되는 비트 전송률을 변경해야 할 수도 있습니다. 소스 비트 전송률을 살펴보는 것이 좋은 지표가 될 것입니다.
mencoder는 또한 다양한 라이브러리를 지원합니다. 일부는 lavc와 같은 다중 코덱이고 일부는 그렇지 않습니다. 시도해 보세요.
mencoder -ovc help
지원되는 코덱 목록을 얻으려면 다음을 얻었습니다.
MEncoder SVN-r33094-4.5.3 (C) 2000-2011 MPlayer Team
Available codecs:
copy - frame copy, without re-encoding. Doesn't work with filters.
frameno - special audio-only file for 3-pass encoding, see DOCS.
raw - uncompressed video. Use fourcc option to set format explicitly.
nuv - nuppel video
lavc - libavcodec codecs - best quality!
libdv - DV encoding with libdv v0.9.5
xvid - XviD encoding
x264 - H.264 encoding
그래서 나는 이것을 할 수 있습니다 :
mencoder file.wmv -ofps 23.976 -ovc xvid -oac copy -o file.avi
또는
mencoder file.wmv -ofps 23.976 -ovc x264 -oac copy -o file.avi
더 작은 파일 크기와 더 긴 압축 시간을 위해
답변2
특히 ffmpeg에 관해 이야기할 때 그의 질문에 대답하지 않은 것 같습니다.
이로 인해 mencoder는 소스와 거의 동일한 비트 전송률, 품질 및 파일 크기로 멋진 divx 인코딩을 생성합니다.
n=파일 이름=스크립트 위치 인수
이를 노틸러스 스크립트로 사용할 수 있으며 변환할 파일 아이콘을 마우스 오른쪽 버튼으로 클릭합니다. 원하는 대로 출력 매개변수를 조정할 수 있습니다.
#!/bin/bash -x
if [ ! -t 1 ]; then gnome-terminal -x "$0" "$@"; exit; fi
n="$@"
bitrate=`mediainfo --Inform="Video;%BitRate%" "$n"`<br>
nice mencoder -ovc xvid -xvidencopts max_key_interval=50:bitrate=$bitrate -mc 0 -vf harddup -oac mp3lame -lameopts cbr:aq=0:br=64 -o "${n%.*}.new.avi" "$n"