tengo un archivo que necesito para convertir a MPEG-TS para que se ajuste el siguiente especificación:MPEG-TS Codificación
Primaria tasa de bits de la corriente [kbit/s] de vídeo: 2575 de audio: 2 x 192 subtítulo: - PAT/PMT: - relleno: -
Componente TS bitrate [kbit/s] video: 2652 audio: 395 subtítulo: 45 PAT/PMT: 45 relleno: 62 total : 3200 CBR
componentes necesarios adicionales: PAT PMT paquetes nulos
componentes que podrían aparecer: NIT, SDT, EIT, etc.
vcodec="h264"
acodec="mpga"
bitrate="2500"
arate="192"
samplerate=48000
ext="mpg"
mux="ts"
vlc="/usr/bin/vlc"
fmt="mpg"
dst="/home/adam/test/"
for a in *$fmt; do
$vlc -I dummy -vvv "/home/adam/test/" --sout "#transcode{vcodec=$vcodec,venc=x264{profile=main,level=3.0,hrd=cbr,bframes=2},vb=$bitrate,acodec=$acodec,ab=$arate,samplerate=$samplerate,channels=2}:standard{mux=$mux,dst=\"$dst$a.$ext\",ac$
done
Después de la codificación con la secuencia de comandos por encima de todo parece estar bien (para el códec de bitrate tanto de video como de audio es constante) aparte de dos cosas: El bitrate del contenedor también debe permanecer en CBR, pero este no es el caso. Además, falta el componente de relleno (0x1 ffff) - paquete nulo. ¿Es posible que corrija el script para hacer que el paquete nulo y la tasa de bits del contenedor sean constantes (3,2 Mbps CBR)?
La segunda opción es la codificación con ffmpeg:
ffmpeg -i video_input.mpg -i audio_input.mp2 -acodec copy -tune zerolatency -x264opts bitrate=2600:vbv-maxrate=2600:vbv-bufsize=166:nal_hrd=cbr -vpre libx264-iptv -vcodec libx264 -f mpegts -muxrate 3200K -y output.ts
pero la forma de desarmar/desactivar/eliminar tabla SDT?
El segundo comando funciona bien, pero ¿cómo puedo eliminar la tabla SDT del archivo? – adismsc