2017-05-16 14 views
0

ffmpeg를 사용하여 일부 파일을 새로운 형식과 특정 매개 변수로 코드 변환했습니다. 트랜스 코딩 한 후 일부 출력 파일의 메타 데이터가 예상 한 것과 다르다는 것을 알았습니다. 출력 값은 cmd 행에 설정 한 것과 동일하지 않습니다.ffmpeg를 사용하여 트랜스 코딩 한 후 오디오 비트율이 예상 한 값이 아님

트랜스 코딩하기 전에 나는 inputfile의의 미디어 정보 확인 :

ffmpeg -i dz2015082000010.mpg 

는 FFmpeg 버전 3.2.4 저작권 (C)
는 GCC 4.8.3로 구축 2,000에서 2,017 사이 ffmpeg라는 개발자 (GCC) 20140911 (Red Hat 4.8.3-9)
구성 : --enable-static -enable-memalign-hack - 가능 libx264 --enable-gpl - 가능 -pthreads - 가능 버전 -3 - 가능 -avisynth --enable-bzlib --enable-iconv - 사용 가능 zlib - 사용 가능 -nfree -extra-cflags = -I/usr/local/include/--extra-ldflags = -L/usr/local/lib --enable-debug = 3 - 사용 불가능한 최적화 - 사용 가능 - nonfree - 사용 가능 -libmp3lame libavutil 55. 34.101/55. 34.101 libavcodec 57. 64.101/57. 64.101 libavformat 57. 56.101/ 57. 56.101 libavdevice 57. 1.100/57. 1.100 libavfilter 6. 65.100/6. 65.100 libswscale 4. 2.100/4. 2.100 libswresample 2. 3.100/2. 3.100 libpostproc 54. 1.100/ 54. 1.100 입력 # 0, mpeg, 'dz2015082000010.mpg' : 0:00 : 01 : 49.30, 시작 : 0.685389, 비트율 : 15723 kb/s
스트림 # 0 : 0 [0x1e0] : 비디오 : mpeg2video (Main), yuv420p (tv, 맨 위), 1920x1080 [SAR 1 : 1 DAR 16 : 9], 15000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
스트림 # 0 : 1 [0x1c0] : 오디오 : mp2, 48000Hz, 스테레오, s16p, 384kb/s 하나 이상의 출력 파일을 지정해야합니다.

다음, cmd를 선으로 트랜스 코딩 :

ffmpeg -i dz2015082000010.mpg -vcodec libx264 -b:v 4000k -s 1920x1080 -r 25 -g 25 -vprofile main -acodec aac -strict -2 -b:a 128k -ac 2 -ar 44100 -y output.ts 

트랜스 코딩 후, 출력 파일의 미디어 정보 확인 :

ffmpeg -i output.ts  

는 FFmpeg 버전 3.2.4 저작권 (C) 2000-2017 gcc 4.8.3 (GCC) 20140911 (Red Hat 4.8.3-9) 설정으로 빌드 된 FFmpeg 개발자 : --enable-static --enable-memalign-hack --enable-libx264 --enable- gpl --enable-pthreads --enable-version3 --enable-avisynth --ena/usr/local/include/- extra-ldflags = -L/usr/local/lib --enable-iconable -enable-zlib -enable-nonfree -extra-cflags = -I/usr/local/-debug = 3 - 사용할 수없는 최적화 - 사용 가능 - nonfree - 사용 가능 -libmp3lame libavutil 55. 34.101/55. 34.101 libavcodec 57. 64.101 /57. 64.101 libavformat 57. 56.101/57. 56.101
libavdevice 57. 1.100/57. 1.100 libavfilter 6. 65.100 6.65.100 libswscale 4. 2.100/4. 2.100
libswresample 2. 3.100/2. 3.100 libpostproc 54. 1.100 /54. 1.100 입력 # 0, mpegts, from full- 2.ts ': Duration : 00 : 01 : 49.30, 시작 : 1.456,778, 전송률 : 4,455킬로바이트/s 프로그램 1
메타 데이터
SERVICE_NAME : Service01
SERVICE_PROVIDER : FFmpeg에
스트림 # 0 : 0 ℃로 0x100] : 비디오 : H264 (주) ([27] [0] [0 [0]/0x001B), yuv420p (프로그레시브), 1920x1080 [SAR 1 : 1 DAR 16 : 9], 25fps, 25tbr, 90k tbn, 50tbc
스트림 # 0 : 1 [0x101] : 오디오 : AAC (LC) ([15] [0] [0] [0]/0x000F) 44,100 ㎐, 스테레오, fltp, 4킬로바이트/S를 적어도 하나 개의 출력 파일 이

I가 돈

를 지정해야 ' 오디오 비트 전송률이 4KB/s로 변경된 이유는 알지 못합니다. 어 코드 변환, 나는 값을 -b : 128k로 설정하기 전에 누구나 나를 도울 수 있습니까? BTW, 출력 파일 괜찮아.

답변

0

네이티브 인코더는 무음 부분에서 비트를 낭비하지 않습니다. 그리고 그것은 엄격한 CBR을하지 않습니다. 대상 비트 전송률 주변에 출력이 정말로 필요한 경우 매우 낮은 수준의 잡음을 혼합 할 수 있습니다.