2016-12-12 51 views
0

Ich versuche, den DVB-Untertitel im Video fest zu codieren. Ich habe es geschafft, es zu kodieren, aber es ist immer noch fehl am Platz. Der Grund dafür ist, dass der Untertitel in der SD-Auflösung 720x576 ist, während das Video 1920x1080 ist.ffmpeg und dvb Untertitel Skalierung

Also wenn ich Overlay verwende, ist der Untertitel falsch und auf der linken Ecke.

das ist mein Befehl:

ffmpeg -canvas_size 1280x720 -y -probesize 5000000 -analyzeduration 5000000 -i http://192.168.2.9:8001 -filter_complex "[0:s]scale=1280:720[sub],[0:v]scale=1280:720,yadif=1[vid];[vid][sub]overlay[all]" -map "[all]" -map a:0 -strict -2 -dn -vcodec h264 -acodec aac -preset superfast -scodec copy -b:v 2000k -b:a 96k -maxrate 3000k -crf 26 -r 25 -ac 2 -threads 0 -hls_flags delete_segments -hls_time 10 -hls_list_size 6 testbst.ts 

Der Untertitel werden muss Upscaling und/oder in der Mitte unten auf dem Bildschirm platziert. Jede Hilfe wird geschätzt.

+0

Zeigen Sie die Konsolenausgabe und einen Screenshot des Ergebnisses. – Mulvya

+0

Was ist deine Untertitelquelle? –

+0

DVB-Untertitel. Sie sind im Eingangsstrom enthalten – Sambir

Antwort

0

Ihad diese prolem mit Untertiteln, gelang es mit zu beheben:

-filter_complex "[0:s:0] scale=-1:2400 [sub],[0:v][sub] overlay=x=150:y=-80" 

wo:

Skala - Größe der Untertitel

Overlay x = - vertikale

Überlagerung y = - horizontal

+0

Großartig, ich werde es versuchen und lassen Sie wissen, die Ergebnisse – Sambir

+0

Versuchte es nicht funktioniert ... :( – Sambir

+0

Für mich funktioniert: ffmpeg -i http://192.168.1.238:9099/play/a06n -metadata title = "HBO 3 HD" -Filter_Komplex "[0: s: 0] Skalierung = -1: 2400 [sub], [0: v] [sub] Überlagerung = x = 150: y = -80" -c: v libx264 -crf 23 -preset sehr schnell -aspect 16: 9 -c: ein aac-strict experimental -b: ein 192k -flags -global_header -f segment -segment_format mpegts -segment_list_type m3u8 -segment_list/var/www/html /HBO_3.m3u8 -segment_time 5 -segment_list_flags + live -segment_wrap 6 -segment_zeit 10 /var/www/html/HBO_3-%00d.ts – Maknol

0

preview.ibb.co/ibNB4k/1.jpg ersten Code

Bei der ersten, Untertitel sind wenig hoch, und der Code ist:

ffmpeg -i http://localhost:9099/play/a07w -metadata title="Cinemax" -filter_complex "[0:s:0] scale=-1:500 [sub],[0:v][sub] overlay=x=30:y=-10" -c:v libx264 -crf 20 -preset veryfast -aspect 16:9 -c:a aac -strict experimental -b:a 192k -flags -global_header -f segment -segment_format mpegts -segment_list_type m3u8 -segment_list /var/www/html/CINEMAX.m3u8 -segment_time 5 -segment_list_flags +live -segment_wrap 6 -segment_time 10 /var/www/html/CINEMAX-%00d.ts 

An zweiter ein, Untertitel ist wenig niedriger als der erste: https://preview.ibb.co/e6VaVQ/2.jpg zweite Code

ffmpeg -i http://localhost:9099/play/a07w -metadata title="Cinemax" -filter_complex "[0:s:0] scale=-1:500 [sub],[0:v][sub] overlay=x=30:y=-1" -c:v libx264 -crf 20 -preset veryfast -aspect 16:9 -c:a aac -strict experimental -b:a 192k -flags -global_header -f segment -segment_format mpegts -segment_list_type m3u8 -segment_list /var/www/html/CINEMAX.m3u8 -segment_time 5 -segment_list_flags +live -segment_wrap 6 -segment_time 10 /var/www/html/CINEMAX-%00d.ts 

und die dritten man sie am Boden: https://preview.ibb.co/hyZfx5/3.jpg

nohup ffmpeg -i http://localhost:9099/play/a07w -metadata title="Cinemax" -filter_complex "[0:s:0] scale=-1:500 [sub],[0:v][sub] overlay=x=15:y=80" -c:v libx264 -crf 20 -preset veryfast -aspect 16:9 -c:a aac -strict experimental -b:a 192k -flags -global_header -f segment -segment_format mpegts -segment_list_type m3u8 -segment_list /var/www/html/CINEMAX.m3u8 -segment_time 5 -segment_list_flags +live -segment_wrap 6 -segment_time 10 /var/www/html/CINEMAX-%00d.ts > /dev/null 2>&1 

Die Skala Option zur Skalierung „die Schriftgröße“ ist, und es ist von der Videoauflösung ab.

Die laufende und getestete Version: ffmpeg Version 3.3.2-1 ~ 14.04.york1 Copyright (c) 2000-2017 die Entwickler FFmpeg