Tôi có một tập tin mà tôi cần phải chuyển đổi sang định dạng MPEG-TS để nó phù hợp với đặc điểm kỹ thuật dưới đây:MPEG-TS Encoding
Tiểu dòng bitrate [kbit/s] video: 2575 âm thanh: 2 x 192 phụ đề: - PAT/PMT: - nhồi: -
Component TS bitrate [kbit/s] video: 2652 âm thanh: 395 phụ đề: 45 PAT/PMT: 45 nhồi: 62 Tổng số : 3200 CBR
bổ sung thành phần cần thiết: PAT PMT gói Null
Linh kiện mà có thể bật lên: NIT, SDT, thuế TNDN, vv
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
Sau khi mã hóa với kịch bản trên tất cả mọi thứ dường như được ok (cho cả hai video và audio bitrate codec là không đổi) ngoài hai điều: Bitrate của container cũng nên vẫn còn CBR nhưng đây không phải là trường hợp. Ngoài ra, thành phần nhồi (0x1 ffff) - thiếu gói tin rỗng. Bạn có thể sửa kịch bản để tạo gói tin rỗng cũng như tốc độ bit của hằng số container (3,2 Mbps CBR) không?
Lựa chọn thứ hai được mã hóa với 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
nhưng làm thế nào để bỏ đặt/vô hiệu hóa/gỡ bỏ bảng SDT?
Lệnh thứ hai hoạt động tốt nhưng làm cách nào tôi có thể xóa bảng SDT khỏi tệp? – adismsc