눈팅만 하다가 최근에 수정한 파일이 하나 있어서......올려봅니다.
헤놀 사용자입니다.
혼자 사용할 떄에는...오디오 코덱이 DTS라도...무뎌서...별 다른 신경 안쓰고 보고 넘기고 했더랬습니다만...
최근에 여러 사람이 사용하게 되다보니....이게 되네...안되네....말이 들어오더군요...ㅠㅠ;
귀찮아서 미루다가.......주말께에 스크립트 하나 만들어서 돌려봤습니다.
적어도 DTS나 기타 등 등...저작권 운운하는 코덱들 때문에 재생이 안되는 일이 없도록....
이 스크립트의 장점 또는 특징은 다음과 같습니다.
* 중복된 폴더 안에 있더라도 상관없이 최상단 폴더에 두고 실행시키면......각각의 서브폴더 찾아다니면서....인코딩해 줍니다.
만약, 해당 폴더에 확장자가 mp4인 파일이 있으면...오디오 코덱과 비디오 코덱을 판단해서 조건 충족되면 건너뛰고...
그렇지 않으면 요건에 맞게 인코딩합니다.
* 기본적으로 컨테이너(확장자)는 mp4로 인코딩합니다.(어떤 파일이건 mp4로 바꿉니다.)
* 오디오 코덱의 경우 AAC 또는 AC3인 경우, 그대로 적용...이 외의 모든 오디오 코덱은 AC3로 인코딩합니다.
* 비디오 코덱의 경우, H264 또는 HEVC인 경우, 그대로 적용(기본적으로 lossless copy처리)하고....나머지 mpeg-4등....잡다한 코덱은 무조건 H264(libx264코덱 적용) 코덱으로 통일해서 인코딩합니다. - 이 경우...오래 전 파일인 경우가 대부분이므로...
비트레이트는 2500k로 적용됩니다. (충분히 커버되리라 보입니다.)
* HEVC 파일인 경우, codec ID가 hvc1이 아닌 경우....ID변경합니다. (이 코덱 아이디가 다른 경우....맥(해킨토시)에서 볼때에....화면이 보이질 않습니다.)
* 각각의 인코딩 된 파일의 경우....해당 파일명으로 log 파일을 생성합니다. (인코딩 실패의 경우 원인 파악이 용이...)
* 인코딩 된 파일명 변경은 인코딩 조건에 따라서 다릅니다.
(HEVC의 codec ID을 변경한 경우...파일명 뒤에 Tag...오디오 코덱을 변경한 경우 AC3...비디오 코덱을 변경한 경우..x264가 뒤에 붙습니다.)
원본파일.mkv - 원본파일.AC3.Tag.mp4 이런 식으로....
파일명 변경은 .... 나중에 한번에 일괄변경시킬 수 있으므로....이 정도 선에서 타협봣습니다.
따로 , 원본 파일은 이동시키거나 손대지 않습니다. (사용자 분들이 각자 처리방법이 다를 것이므로...수정해서 사용하시면 될 듯...)
일단, 제 환경에서는 잘 됩니다. (헤놀로지[시놀로지], 해킨토시[맥북 또는 아이맥 등...])
스크립트 작동을 위해서는....ffmpeg와 mediainfo가 시놀로지에 기본적으로 설치되어 있어야 합니다.
해킨토시 또는 맥에서 사용할 경우 추가적으로 터미널에서 bash버전으로 4 이상이 설치되어 있어야 합니다.
* 설치법
[시놀로지 DSM - 패키지 센터 - 패키지 소스 - 추가] 눌러서.... 위치에 http://packages.synocommunity.com 넣어주고....이름은 적당히 넣어줍니다.
그러면....좌측 커뮤니티 탭을 보면....ffmpeg와 MediaInfo가 보일겁니다.
두 개 설치해 줍니다.
해킨토시나 Mac 에서는....Homebrew를 통해서...
brew install media-info
brew install ffmpeg $(brew options ffmpeg | grep -vE '\s' | grep - '--with-' | tr '\n''')
로 설치하시면 됩니다. (당연한 얘기겠지만...ffmpeg의 경우 모든 옵션으로 설치해야 하므로...)
사용법 - 첨부한 파일을 아래처럼...원하는 폴더의 최상단....에 두고 터미널에서 실행시키던지....작업 스케쥴러에 등록해서 정기적으로 돌리던지 하시면 됩니다.... (저같은 경우는....video폴더(모든 분류된 동영상들의 최상단 폴더)에 두고 사용중입니다...)
초보자용 설명....
ssh ID@시놀로지주소 [엔터] - 시놀로지 비밀번호 입력 [엔터]
원하는 위치로 이동....
cd /volume1/vidio/미드 (예시 기준....)
chmod 755 ./convertomp4.sh [엔터] - 실행권한 적용...
./convertomp4.sh [엔터] 실행~~~~
아.......여기는 파일 첨부가 안되나 보네요...
해서....내용 붙복해서 올립니다. 아래 내용을....적당한 에디터 파일을 열고 붙복해서...적절한 이름으로 저장...(저같은 경우, convertomp4.sh)하고 확장자는 당연히...sh로....하시면 되겠습니다.
초보라서....중복구문이 많습니다. 이해 바랍니다.
#!/bin/bash
shopt -s globstar
for i in **/*;
do
if [[ -f "${i}" ]]; then
Videoinfo=`mediainfo --Inform="Video;%Format%" "${i}"`
Audioinfo=`mediainfo --Inform="Audio;%Format%" "${i}"`
if [ "$Videoinfo" == "" ]; then
continue
fi
if [ "${i##*.}" != mp4 ]; then
if [ "$Videoinfo" == "HEVC" ]; then
CodecID=`mediainfo --Inform="Video;%CodecID%" "${i}"`
if [ "$CodecID" != "hvc1" ]; then
if [ "$Audioinfo" == "AC-3" ]; then
ffmpeg -y -i "${i}" -c:v copy -tag:v hvc1 -c:a copy "${i%.*}".Tag.mp4 </dev/null >>"${i%.*}".Tag.mp4.log 2>&1
elif [ "$Audioinfo" == "AAC" ]; then
ffmpeg -y -i "${i}" -c:v copy -tag:v hvc1 -c:a copy "${i%.*}".Tag.mp4 </dev/null >>"${i%.*}".Tag.mp4.log 2>&1
else
ffmpeg -y -i "${i}" -c:v copy -tag:v hvc1 -c:a ac3 -ab 192k "${i%.*}".Tag.AC3.mp4 </dev/null >>"${i%.*}".Tag.ac3.mp4.log 2>&1
fi
fi
if [ "$CodecID" == "hvc1" ]; then
if [ "$Audioinfo" == "AC-3" ]; then
ffmpeg -y -i "${i}" -c:v copy -c:a copy "${i%.*}".mp4 </dev/null >>"${i%.*}".mp4.log 2>&1
elif [ "$Audioinfo" == "AAC" ]; then
ffmpeg -y -i "${i}" -c:v copy -c:a copy "${i%.*}".mp4 </dev/null >>"${i%.*}".mp4.log 2>&1
else
ffmpeg -y -i "${i}" -c:v copy -c:a ac3 -ab 192k "${i%.*}".AC3.mp4 </dev/null >>"${i%.*}".ac3.mp4.log 2>&1
fi
fi
elif [ "$Videoinfo" == "AVC" ]; then
if [ "$Audioinfo" == "AC-3" ]; then
ffmpeg -y -i "${i}" -c:v copy -c:a copy "${i%.*}".mp4 </dev/null >>"${i%.*}".mp4.log 2>&1
elif [ "$Audioinfo" == "AAC" ]; then
ffmpeg -y -i "${i}" -c:v copy -c:a copy "${i%.*}".mp4 </dev/null >>"${i%.*}".mp4.log 2>&1
else
ffmpeg -y -i "${i}" -c:v copy -c:a ac3 -ab 192k "${i%.*}".AC3.mp4 </dev/null >>"${i%.*}".AC3.mp4.log 2>&1
fi
else
if [ "$Audioinfo" == "AC-3" ]; then
ffmpeg -y -i "${i}" -c:v libx264 -vb 2500k -c:a copy "${i%.*}".x264.mp4 </dev/null >>"${i%.*}".x264.mp4.log 2>&1
elif [ "$Audioinfo" == "AAC" ]; then
ffmpeg -y -i "${i}" -c:v libx264 -vb 2500k -c:a copy "${i%.*}".x264.mp4 </dev/null >>"${i%.*}".x264.mp4.log 2>&1
else
ffmpeg -y -i "${i}" -c:v libx264 -vb 2500k -c:a ac3 -ab 192k "${i%.*}".x264.AC3.mp4 </dev/null >>"${i%.*}".x264.AC3.mp4.log 2>&1
fi
fi
elif [ "${i##*.}" == mp4 ]; then
if [ "$Videoinfo" == "HEVC" ]; then
CodecID=`mediainfo --Inform="Video;%CodecID%" "${i}"`
if [ "$CodecID" != "hvc1" ]; then
if [ "$Audioinfo" == "AC-3" ]; then
ffmpeg -y -i "${i}" -c:v copy -tag:v hvc1 -c:a copy "${i%.*}".Tag.mp4 </dev/null >>"${i%.*}".Tag.mp4.log 2>&1
elif [ "$Audioinfo" == "AAC" ]; then
ffmpeg -y -i "${i}" -c:v copy -tag:v hvc1 -c:a copy "${i%.*}".Tag.mp4 </dev/null >>"${i%.*}".Tag.mp4.log 2>&1
else
ffmpeg -y -i "${i}" -c:v copy -tag:v hvc1 -c:a ac3 -ab 192k "${i%.*}".Tag.AC3.mp4 </dev/null >>"${i%.*}".Tag.AC3.mp4.log 2>&1
fi
fi
if [ "$CodecID" == "hvc1" ]; then
if [ "$Audioinfo" == "AC-3" ]; then
continue
elif [ "$Audioinfo" == "AAC" ]; then
continue
else
ffmpeg -y -i "${i}" -c:v copy -c:a ac3 -ab 192k "${i%.*}".AC3.mp4 </dev/null >>"${i%.*}".AC3.mp4.log 2>&1
fi
fi
elif [ "$Videoinfo" == "AVC" ]; then
if [ "$Audioinfo" == "AC-3" ]; then
continue
elif [ "$Audioinfo" == "AAC" ]; then
continue
else
ffmpeg -y -i "${i}" -c:v copy -c:a ac3 -ab 192k "${i%.*}".AC3.mp4 </dev/null >>"${i%.*}".AC3.mp4.log 2>&1
fi
else
if [ "$Audioinfo" == "AC-3" ]; then
ffmpeg -y -i "${i}" -c:v libx264 -vb 2500k -c:a copy "${i%.*}".x264.mp4 </dev/null >>"${i%.*}".x264.mp4.log 2>&1
elif [ "$Audioinfo" == "AAC" ]; then
ffmpeg -y -i "${i}" -c:v libx264 -vb 2500k -c:a copy "${i%.*}".x264.mp4 </dev/null >>"${i%.*}".x264.mp4.log 2>&1
else
ffmpeg -y -i "${i}" -c:v libx264 -vb 2500k -c:a ac3 -ab 192k "${i%.*}".x264.AC3.mp4 </dev/null >>"${i%.*}".x264.AC3.mp4.log 2>&1
fi
fi
fi
fi
if [[ -d "${i}" ]]; then
for sub_i in "${i}"/*
do
if [[ -d "${sub_i}" ]]; then
continue
fi
if [[ -f "${sub_i}" ]]; then
Videoinfo=`mediainfo --Inform="Video;%Format%" "${sub_i}"`
Audioinfo=`mediainfo --Inform="Audio;%Format%" "${sub_i}"`
if [ "$Videoinfo" == "" ]; then
continue
fi
if [ "${sub_i##*.}" != mp4 ]; then
CodecID=`mediainfo --Inform="Video;%CodecID%" "${sub_i}"`
if [ "$CodecID" != "hvc1" ]; then
if [ "$Audioinfo" == "AC-3" ]; then
ffmpeg -y -i "${sub_i}" -c:v copy -tag:v hvc1 -c:a copy "${sub_i%.*}".Tag.mp4 </dev/null >>"${sub_i%.*}".Tag.mp4.log 2>&1
elif [ "$Audioinfo" == "AAC" ]; then
ffmpeg -y -i "${sub_i}" -c:v copy -tag:v hvc1 -c:a copy "${sub_i%.*}".Tag.mp4 </dev/null >>"${sub_i%.*}".Tag.mp4.log 2>&1
else
ffmpeg -y -i "${sub_i}" -c:v copy -tag:v hvc1 -c:a ac3 -ab 192k "${sub_i%.*}".Tag.AC3.mp4 </dev/null >>"${sub_i%.*}".Tag.ac3.mp4.log 2>&1
fi
fi
if [ "$CodecID" == "hvc1" ]; then
if [ "$Audioinfo" == "AC-3" ]; then
ffmpeg -y -i "${sub_i}" -c:v copy -c:a copy "${sub_i%.*}".mp4 </dev/null >>"${sub_i%.*}".mp4.log 2>&1
elif [ "$Audioinfo" == "AAC" ]; then
ffmpeg -y -i "${sub_i}" -c:v copy -c:a copy "${sub_i%.*}".mp4 </dev/null >>"${sub_i%.*}".mp4.log 2>&1
else
ffmpeg -y -i "${sub_i}" -c:v copy -c:a ac3 -ab 192k "${sub_i%.*}".AC3.mp4 </dev/null >>"${sub_i%.*}".ac3.mp4.log 2>&1
fi
fi
elif [ "$Videoinfo" == "AVC" ]; then
if [ "$Audioinfo" == "AC-3" ]; then
ffmpeg -y -i "${sub_i}" -c:v copy -c:a copy "${sub_i%.*}".mp4 </dev/null >>"${sub_i%.*}".mp4.log 2>&1
elif [ "$Audioinfo" == "AAC" ]; then
ffmpeg -y -i "${sub_i}" -c:v copy -c:a copy "${sub_i%.*}".mp4 </dev/null >>"${sub_i%.*}".mp4.log 2>&1
else
ffmpeg -y -i "${sub_i}" -c:v copy -c:a ac3 -ab 192k "${sub_i%.*}".AC3.mp4 </dev/null >>"${sub_i%.*}".AC3.mp4.log 2>&1
fi
else
if [ "$Audioinfo" == "AC-3" ]; then
ffmpeg -y -i "${sub_i}" -c:v libx264 -vb 2500k -c:a copy "${sub_i%.*}".x264.mp4 </dev/null >>"${sub_i%.*}".x264.mp4.log 2>&1
elif [ "$Audioinfo" == "AAC" ]; then
ffmpeg -y -i "${sub_i}" -c:v libx264 -vb 2500k -c:a copy "${sub_i%.*}".x264.mp4 </dev/null >>"${sub_i%.*}".x264.mp4.log 2>&1
else
ffmpeg -y -i "${sub_i}" -c:v libx264 -vb 2500k -c:a ac3 -ab 192k "${sub_i%.*}".x264.AC3.mp4 </dev/null >>"${sub_i%.*}".x264.AC3.mp4.log 2>&1
fi
fi
elif [ "${sub_i##*.}" == mp4 ]; then
if [ "$Videoinfo" == "HEVC" ]; then
CodecID=`mediainfo --Inform="Video;%CodecID%" "${sub_i}"`
if [ "$CodecID" != "hvc1" ]; then
if [ "$Audioinfo" == "AC-3" ]; then
ffmpeg -y -i "${sub_i}" -c:v copy -tag:v hvc1 -c:a copy "${sub_i%.*}".Tag.mp4 </dev/null >>"${sub_i%.*}".Tag.mp4.log 2>&1
elif [ "$Audioinfo" == "AAC" ]; then
ffmpeg -y -i "${sub_i}" -c:v copy -tag:v hvc1 -c:a copy "${sub_i%.*}".Tag.mp4 </dev/null >>"${sub_i%.*}".Tag.mp4.log 2>&1
else
ffmpeg -y -i "${sub_i}" -c:v copy -tag:v hvc1 -c:a ac3 -ab 192k "${sub_i%.*}".Tag.AC3.mp4 </dev/null >>"${sub_i%.*}".Tag.AC3.mp4.log 2>&1
fi
fi
if [ "$CodecID" == "hvc1" ]; then
if [ "$Audioinfo" == "AC-3" ]; then
continue
elif [ "$Audioinfo" == "AAC" ]; then
continue
else
ffmpeg -y -i "${sub_i}" -c:v copy -c:a ac3 -ab 192k "${sub_i%.*}".AC3.mp4 </dev/null >>"${sub_i%.*}".AC3.mp4.log 2>&1
fi
fi
elif [ "$Videoinfo" == "AVC" ]; then
if [ "$Audioinfo" == "AC-3" ]; then
continue
elif [ "$Audioinfo" == "AAC" ]; then
continue
else
ffmpeg -y -i "${sub_i}" -c:v copy -c:a ac3 -ab 192k "${sub_i%.*}".AC3.mp4 </dev/null >>"${sub_i%.*}".AC3.mp4.log 2>&1
fi
else
if [ "$Audioinfo" == "AC-3" ]; then
ffmpeg -y -i "${sub_i}" -c:v libx264 -vb 2500k -c:a copy "${sub_i%.*}".x264.mp4 </dev/null >>"${sub_i%.*}".x264.mp4.log 2>&1
elif [ "$Audioinfo" == "AAC" ]; then
ffmpeg -y -i "${sub_i}" -c:v libx264 -vb 2500k -c:a copy "${sub_i%.*}".x264.mp4 </dev/null >>"${sub_i%.*}".x264.mp4.log 2>&1
else
ffmpeg -y -i "${sub_i}" -c:v libx264 -vb 2500k -c:a ac3 -ab 192k "${sub_i%.*}".x264.AC3.mp4 </dev/null >>"${sub_i%.*}".x264.AC3.mp4.log 2>&1
fi
fi
fi
fi
done
fi
done
일단, 별다른 얘기가 없으니......잘 작동하는 것으로 알겠습니다.
^^
for i in **/*; 이 부분을 수정해 주시면 됩니다...
가령...스크립트는 다른 곳에 두고 특정한 폴더를 지정해서 사용하시려면...
for i in /volume1/vidio/drame/**/*;
이런 식으로 수정하면...../volume1/vidio/drame/ 폴더를 기준으로 그 밑으로 전부 인코딩해 줍니다.
여담입니다만.......동영상 폴더 안에 동영상 이외의 잡다한 다른 파일들(가령, 자막파일이라던지 등 등..)이 있어도 따로 옮기거나 건드릴 필요는 없습니다. 자체적으로 알아서...동영상만 찾아서 인코딩 시켜주고 나머지 파일들은 건드리지 않습니다.
그리고 수정된 스크립트 파일은 아래 링크로 공유 합니다.
https://www.dropbox.com/s/rfq5lgldvepi8bm/convertomp4.sh?dl=0
비디오 스테이션에서 문제없이 재생시켜 주면 OK~ 단순하지만, 이 기준입니다. ㅎㅎㅎ
나중에 꼭 적용 해보고 싶네요
소중한 자료 감사합니다
사용자정의 스크립트에
ssh 아이디@나스아이피
패스워드
cd /volume1/폴더
chmod 755 ./convertomp4.sh
./convertomp4.sh
이렇게 했는데 실행이 안되는 듯 합니다 T.T
혹시 해서 푸티로 접근해서 해보니 마지막에
lks116@NAS:/volume1/TOR$ chmod 755 ./convertomp4.sh
lks116@NAS:/volume1/TOR$ ./convertomp4.sh
-sh: ./convertomp4.sh: /bin/bash^M: bad interpreter: No such file or directory
이렇게 뜨내요
원하는 폴더에 스크립트 저장해 둔다. > chmod 등으로 권한을 준다. > 원하는 시간대에 실행되도록 설정한다.
이렇게 해 두면 될 거 같고요...다만, 어디를 대상으로 인코딩 할 것인지는...
for i in **/*; 요 부분을 수정하시면 되겠습니다. 위에 로패님 댓글에 보충 설명있으니 참고하시기 바랍니다.
add@NAS:/volume3/video$ chmod 755 ./convertomp4.sh
add@NAS:/volume3/video$ ./convertomp4.sh
./convertomp4.sh: line 355: syntax error near unexpected token `fi'
./convertomp4.sh: line 355: ` fi'
로패님이 먼저 올려주셨으니 저는 해결된 것으로 알겠습니다. ^^;
혹시 추가적으로 설명 등이 필요하신 경우 댓글 부탁드립니다.
감사합니다. 복사 붙여넣기 중에 오류가 있었나본데...로패님이 수정 봐주셨군요. ㅎㅎㅎ
어디가 문제 일까요 ?
혹시, 로그 살펴봐 주시겠어요?
우선, 변환된 파일에 대해서 미디어인포 등으로 파일 정보 살펴봐 주시고......인코딩될 때에 로그 파일이 생성되어 있을겁니다. 그거 한번 확인해 보세요.
Guessed Channel Layout for Input Stream #0.1 : 5.1
Input #0, matroska,webm, from '/volume1/2004.1080p.BluRay.x264.DTS-oOo.mkv':
Metadata:
encoder : libebml v1.3.0 + libmatroska v1.4.1
creation_time : 2013-10-05 14:17:52
Duration: 01:53:11.37, start: 0.000000, bitrate: 5525 kb/s
Stream #0:0: Video: h264 (High), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1(kor): Audio: dts, 48000 Hz, 6 channels
Codec AVOption b (set bitrate (in bits/s)) specified for output file #0 (/volume1/2004.1080p.BluRay.x264.DTS-oOo.AC3.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
[mp4 @ 0x1c71a80] Codec for stream 0 does not use global headers but container format requires global headers
Output #0, mp4, to '/volume1/2004.1080p.BluRay.x264.DTS-oOo.AC3.mp4':
Metadata:
encoder : Lavf56.36.100
Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 23.98 tbr, 16k tbn, 1k tbc (default)
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Metadata:
encoder : Lavf56.36.100
Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 23.98 tbr, 16k tbn, 1k tbc (default)
Stream mapping:
Stream #0:0 -> #0:0 (copy)
여기 밑부분 로그 정보가 보고 싶어요. 로그를 올려봐 주세요.
Press [q] to stop, [?] for help
frame= 4958 fps=0.0 q=-1.0 size= 86228kB time=00:03:26.66 bitrate=3418.0kbits/s
frame= 9856 fps=9855 q=-1.0 size= 173487kB time=00:06:50.95 bitrate=3458.3kbits/s
frame=14046 fps=9363 q=-1.0 size= 271210kB time=00:09:45.71 bitrate=3793.3kbits/s
frame=18199 fps=9099 q=-1.0 size= 340309kB time=00:12:38.92 bitrate=3673.4kbits/s
frame=22660 fps=9055 q=-1.0 size= 423473kB time=00:15:44.98 bitrate=3671.0kbits/s
frame=26935 fps=8971 q=-1.0 size= 522042kB time=00:18:43.29 bitrate=3807.2kbits/s
frame=31655 fps=9038 q=-1.0 size= 613840kB time=00:22:00.15 bitrate=3809.1kbits/s
frame=36368 fps=9049 q=-1.0 size= 694860kB time=00:25:16.72 bitrate=3753.0kbits/s
frame=38641 fps=8545 q=-1.0 size= 734711kB time=00:26:51.52 bitrate=3734.8kbits/s
frame=41021 fps=8160 q=-1.0 size= 790019kB time=00:28:30.79 bitrate=3782.9kbits/s
frame=43543 fps=7876 q=-1.0 size= 844349kB time=00:30:15.98 bitrate=3808.9kbits/s
frame=45470 fps=7529 q=-1.0 size= 883673kB time=00:31:36.35 bitrate=3817.4kbits/s
frame=48653 fps=7440 q=-1.0 size= 943150kB time=00:33:49.11 bitrate=3807.7kbits/s
frame=50824 fps=7173 q=-1.0 size= 997302kB time=00:35:19.66 bitrate=3854.3kbits/s
frame=53912 fps=7108 q=-1.0 size= 1061177kB time=00:37:28.45 bitrate=3866.3kbits/s
frame=56945 fps=7038 q=-1.0 size= 1118094kB time=00:39:34.95 bitrate=3856.7kbits/s
frame=58725 fps=6793 q=-1.0 size= 1157623kB time=00:40:49.19 bitrate=3872.0kbits/s
frame=60991 fps=6641 q=-1.0 size= 1204332kB time=00:42:23.70 bitrate=3878.5kbits/s
frame=63126 fps=6519 q=-1.0 size= 1242467kB time=00:43:52.75 bitrate=3866.0kbits/s
frame=64688 fps=6352 q=-1.0 size= 1270057kB time=00:44:57.90 bitrate=3856.4kbits/s
frame=66285 fps=6187 q=-1.0 size= 1300161kB time=00:46:04.51 bitrate=3852.7kbits/s
frame=68004 fps=6064 q=-1.0 size= 1347083kB time=00:47:16.20 bitrate=3890.9kbits/s
frame=69291 fps=5905 q=-1.0 size= 1372109kB time=00:48:09.88 bitrate=3889.5kbits/s
frame=70961 fps=5798 q=-1.0 size= 1403520kB time=00:49:19.54 bitrate=3884.9kbits/s
frame=72772 fps=5712 q=-1.0 size= 1441567kB time=00:50:35.07 bitrate=3890.9kbits/s
frame=77312 fps=5839 q=-1.0 size= 1530730kB time=00:53:44.43 bitrate=3889.0kbits/s
frame=82380 fps=5995 q=-1.0 size= 1613448kB time=00:57:15.80 bitrate=3846.9kbits/s
frame=86774 fps=6093 q=-1.0 size= 1704598kB time=01:00:19.07 bitrate=3858.5kbits/s
frame=90767 fps=6157 q=-1.0 size= 1796917kB time=01:03:05.61 bitrate=3888.5kbits/s
frame=92187 fps=6048 q=-1.0 size= 1841004kB time=01:04:04.84 bitrate=3922.5kbits/s
frame=92982 fps=5881 q=-1.0 size= 1864773kB time=01:04:38.00 bitrate=3939.2kbits/s
frame=94720 fps=5807 q=-1.0 size= 1897906kB time=01:05:50.48 bitrate=3935.6kbits/s
frame=96061 fps=5714 q=-1.0 size= 1921362kB time=01:06:46.42 bitrate=3928.6kbits/s
frame=97921 fps=5657 q=-1.0 size= 1961404kB time=01:08:03.99 bitrate=3934.3kbits/s
frame=99304 fps=5574 q=-1.0 size= 1992878kB time=01:09:01.68 bitrate=3941.8kbits/s
frame=101073 fps=5517 q=-1.0 size= 2027856kB time=01:10:15.46 bitrate=3940.8kbits/s
frame=106889 fps=5532 q=-1.0 size= 2179717kB time=01:14:18.03 bitrate=4005.4kbits/s
frame=111323 fps=5616 q=-1.0 size= 2264332kB time=01:17:22.97 bitrate=3995.2kbits/s
frame=115898 fps=5703 q=-1.0 size= 2352200kB time=01:20:33.78 bitrate=3986.4kbits/s
frame=120725 fps=5798 q=-1.0 size= 2435646kB time=01:23:55.11 bitrate=3962.7kbits/s
frame=122768 fps=5749 q=-1.0 size= 2479397kB time=01:25:20.32 bitrate=3966.8kbits/s
frame=124260 fps=5679 q=-1.0 size= 2508864kB time=01:26:22.55 bitrate=3965.7kbits/s
frame=125234 fps=5566 q=-1.0 size= 2534172kB time=01:27:03.17 bitrate=3974.6kbits/s
frame=126605 fps=5505 q=-1.0 size= 2564185kB time=01:28:00.35 bitrate=3978.1kbits/s
frame=127853 fps=5440 q=-1.0 size= 2596005kB time=01:28:52.41 bitrate=3988.2kbits/s
frame=129458 fps=5394 q=-1.0 size= 2632977kB time=01:29:59.35 bitrate=3994.8kbits/s
frame=131126 fps=5352 q=-1.0 size= 2666878kB time=01:31:08.92 bitrate=3994.8kbits/s
frame=134414 fps=5376 q=-1.0 size= 2761428kB time=01:33:26.06 bitrate=4035.2kbits/s
frame=138234 fps=5421 q=-1.0 size= 2856968kB time=01:36:05.38 bitrate=4059.4kbits/s
frame=142368 fps=5475 q=-1.0 size= 2948725kB time=01:38:57.80 bitrate=4068.2kbits/s
frame=146041 fps=5511 q=-1.0 size= 3043554kB time=01:41:31.00 bitrate=4093.4kbits/s
frame=148284 fps=5492 q=-1.0 size= 3101281kB time=01:43:04.55 bitrate=4107.9kbits/s
frame=149464 fps=5435 q=-1.0 size= 3133169kB time=01:43:53.77 bitrate=4117.4kbits/s
frame=150639 fps=5375 q=-1.0 size= 3157861kB time=01:44:42.77 bitrate=4117.5kbits/s
frame=152226 fps=5337 q=-1.0 size= 3188077kB time=01:45:48.96 bitrate=4113.5kbits/s
frame=154102 fps=5309 q=-1.0 size= 3223974kB time=01:47:07.21 bitrate=4109.2kbits/s
frame=155316 fps=5257 q=-1.0 size= 3252905kB time=01:47:57.84 bitrate=4113.7kbits/s
frame=157196 fps=5230 q=-1.0 size= 3287647kB time=01:49:16.25 bitrate=4107.9kbits/s
frame=162726 fps=5336 q=-1.0 Lsize= 3330480kB time=01:53:06.90 bitrate=4020.0kbits/s
video:3327984kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.074988%
마지막입니다
혹시, 어떤 특정 파일만 그런 것인지요? 아니면, 모든 파일이 그런건지요?
만약, 모든 파일이 변환은 되면서...음성이 사라지면...ffmpeg 옵션에서 문제가 있거나 한 거 같고요...특정 파일에서의 문제라면...해당 파일에서 문제가 있거나 ffmpeg 옵션에서 조건이 충족되지 않아서 일 겁니다.
댓글 보실려나 모르겠네요 ㅠㅠ
DTS코덱 영화들이 너무 많아서 위 내용대로 도전해보고픈데, 문제는 DTS코덱이 아닌 제대로되어있는 AC3,AAC 코덱의 MKV 확장자의 영화들도 MP4로 무조건 컨버팅을 하게되는거 같은데 맞나요?
- 만일 그렇다면, 대부분의 고화질 영화들이 대부분 MKV 파일인데...변환 필요없는 영화들도 다 변환이 될듯싶어서..
제가 코딩은 잘 몰라서 혹시 위 스크립트에 MKV 확장자 영화들은 DTS코덱 파일만 변환토록도 가능할까요? 혹시 댓글 보신다면 도움주실수 있으실까 문의드려봅니다. 딱 찾던 내용인데 너무 감사드립니다.
네...저는 mp4기준으로 변환하는 거라서...위에처럼 해 두었지만..MKV 를 기준으로 하신다면 mp4 부분을 mkv로 수정해서 사용하셔도 가능할 겁니다.
수정에 관한 자세한 부분은 구글 통해서 검색 활용해 보시기 바랍니다.
제가 지금 스크립트를 바로 볼 수 있는 환경이 아니라서요...ㅎㅎㅎ;
우선 ,tag.mp4가 하나 생성되고
같은 용량으로 .mp4 (.tag가 없는)가 또 생성되는데 그건 왜 그럴까요?
지금 바로 스크립트를 확인할 수 있는 환경은 아니라서....당장은 힘듭니다. ㅠㅠ;