
¿Qué es el método de extracción Micro-720p? Quiero copiar desde 720p usando ffmpeg y libx264.
Ejemplo de información de video m720p (no conozco el video fuente):
General
Complete name : D:\m720p.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 596 MiB
Duration : 1h 16mn
Overall bit rate mode : Variable
Overall bit rate : 1 096 Kbps
Encoded date : UTC 2013-02-05 23:44:15
Tagged date : UTC 2013-02-05 23:44:15
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 9 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 1h 16mn
Bit rate : 1 003 Kbps
Maximum bit rate : 3 982 Kbps
Width : 1 280 pixels
Height : 688 pixels
Display aspect ratio : 1.85:1
Frame rate mode : Constant
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.048
Stream size : 542 MiB (91%)
Writing library : x264 core 129 r2230 1cffe9f
Encoding settings : cabac=1 / ref=9 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=1003 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Encoded date : UTC 2013-02-05 23:44:15
Tagged date : UTC 2013-02-05 23:44:24
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 1h 16mn
Bit rate mode : Variable
Bit rate : 96.0 Kbps
Maximum bit rate : 130 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 52.2 MiB (9%)
Language : English
Encoded date : UTC 2013-02-05 23:44:22
Tagged date : UTC 2013-02-05 23:44:24
Respuesta1
Slhck tiene razón en que Micro-720p es el tipo de lanzamiento de algún equipo de películas pirateadas.
AFAIK, ese equipo está utilizando algunos ajustes de configuración de codificación x264 para archivar velocidades de bits bajas con una calidad aceptable. Puedes obtener lo que han usado en esta línea.
Encoding settings : cabac=1 / ref=9 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=8 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=1003 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Las configuraciones más importantes para velocidades de bits bajas son: ref=9 subme=7 bframes=8
y el desbloqueo se puede cambiar mediante -tune film|animation|grain
Por cierto, si desea transcodificar audio a aac con ffmpeg, debe usar lib_fdkaac, un códec mucho mejor que libfaac. Simplemente intente obtener/compilar un nuevo ffmpeg con lib_fdcaac.
Puedes probar alguna configuración extrema con
ffmpeg -i 720p.mkv \
-c:v libx264 -crf 22 -preset slower -x264opts subme=11:ref=16:bframes=16 -tune film \
-c:a libfdk_aac -ac 2 -flags +qscale -global_quality 2 -afterburner 1 \
m720p.mp4
lo cual sé que da buenos resultados, pero la velocidad de bits del video sería de aproximadamente 1400 ~ 1600 Kbps.
Respuesta2
Supongo que con el tiempo descubrí de dónde viene ese término: es unatipo de lanzamiento de película pirateada. Describe una película de 720p (por lo tanto, redimensionada a 1280⨉720 píxeles), pero a una velocidad de bits más baja de la que normalmente necesitaría.
Esto realmente no es ninguna ciencia espacial aquí. Calculando a partir de esas pautas, la velocidad de bits habitual para una copia de Blu-ray de 720p sería de alrededor de 4,5 MBit/s. Unoguía de escena que encontrétambién utiliza 4 MBit/s para codificación x264. Entonces, para obtener una copia "micro" o "mini" de 720p, deberás especificar una velocidad de bits más baja.
Túpodríahaz algo como esto:
ffmpeg -i in.mp4 -c:v libx264 -b:v 1M -c:a libfaac -q:a 100 out.mp4
Desafortunadamente, el modo de codificación de velocidad de bits constante predeterminado en x264 se considera bastante malo en términos de calidad. Lo ideal sería hacer una codificación de dos pasadas si tienes tiempo. Aquí hay un ejemplo con 1 MBit/s:
ffmpeg -y -i in.mp4 -c:v libx264 -preset slow -b:v 1M -pass 1 -an -f mp4 /dev/null
ffmpeg -i in.mp4 -c:v libx264 -preset slow -b:v 1M -pass 2 -c:a libfaac -q:a 100 out.mp4
Puede cambiar el valor predeterminado de slow
a ultraslow
, o en la otra dirección a medium
, fast
, ultrafast
. Elegir un ajuste preestablecido más lento le brinda una mejor compresión a costa de tener que esperar más. Una mejor compresión significa que el vídeo se verá mejor con el mismo tamaño de archivo.
Tenga en cuenta que si su archivo original ya contiene una secuencia de audio válida para MP4 (generalmente audio AAC o MP3), puede omitir la -c:a libfaac -q:a 100
parte y simplemente copiar la secuencia de bits con -c:a copy
.