- Mitglied seit
- 18. Apr 2019
- Beiträge
- 2
- Punkte für Reaktionen
- 0
- Punkte
- 1
Mir ist aufgefallen, dass die gute und Hardware-unterstützte Video-Transkodierung (DS918+) jedes Video auf eine Einzelbildrate von 24 Bilder runterrechnet. Das ist gar kein Problem für z.B. einen Film welcher von einer Blueray gerippt wurde. Aber für TV-Aufnahmen (meist 720p mit 50 fps) oder Kamera- oder Handy-Aufnahmen mit 25, 30, 50 oder 60 fps ist das eine Katastrophe. Ich habe mal kurz mit SSH und top eine Kommandozeile kopiert:
/var/packages/VideoStation/target/bin/ffmpeg -ss 0.000 -vaapi_device /dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -noautorotate -i /volume1/video/Ferien/Pedalo.mp4 -r 24 -vcodec h264_vaapi -vf format=nv12|vaapi,hwupload,setsar=sar=1,scale_vaapi=w=1280:h=720 -vsync 2 -bf 0 -vb 2000000 -acodec copy -f ssegment -segment_format mpegts ........
Der Parameter "-r 24" bewirkt das bei der Konvertierung so viele Bilder aus dem Original (hier 50 fps) gedroppt werden so das 24 fps entstehen. Klar dass dies sich bei Schwenks und alle ruhigen Bewegungen richtig schlecht auswirkt. Wenn dann z.B. die Android TV Box das ganze mit 60 fps zum TV schickt wird die Bildrate nochmals angepasst und es wird noch schlimmer. Ich denke das die Bildrate bei der Konvertierung nicht verändert werden sollte für Videos mit einer Bildrate <= 30 und darüber sollte die Bildrate genau halbiert werden. Oder als Tabelle:
24 fps = 24 fps
25 fps = 25 fps
30 fps = 30 fps
50 fps = 25 fps
60 fps = 30 fps
Ich denke ohne Anpassung am Code geht das nicht. Oder hat jemand von euch da noch eine gute Idee ?
PS: Ich weis dass ohne Transkodierung das alles ohne Probleme läuft. Wenn ich z.B. auf meinem Smartphone die Transkodierung abstelle oder wenn ich die Videos (im lokalen LAN) via KODI abspiele ist alles gut. Aber wenn ich nicht zuhause bin und die Bandbreite ohne Transkodierung nicht ausreicht wird es ruckelig. Oder wenn das Original in HEVC codiert ist und man will es im Browser abspielen ist die "Original" Qualität nicht verfügbar (so wie es bei H264 geht).
/var/packages/VideoStation/target/bin/ffmpeg -ss 0.000 -vaapi_device /dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -noautorotate -i /volume1/video/Ferien/Pedalo.mp4 -r 24 -vcodec h264_vaapi -vf format=nv12|vaapi,hwupload,setsar=sar=1,scale_vaapi=w=1280:h=720 -vsync 2 -bf 0 -vb 2000000 -acodec copy -f ssegment -segment_format mpegts ........
Der Parameter "-r 24" bewirkt das bei der Konvertierung so viele Bilder aus dem Original (hier 50 fps) gedroppt werden so das 24 fps entstehen. Klar dass dies sich bei Schwenks und alle ruhigen Bewegungen richtig schlecht auswirkt. Wenn dann z.B. die Android TV Box das ganze mit 60 fps zum TV schickt wird die Bildrate nochmals angepasst und es wird noch schlimmer. Ich denke das die Bildrate bei der Konvertierung nicht verändert werden sollte für Videos mit einer Bildrate <= 30 und darüber sollte die Bildrate genau halbiert werden. Oder als Tabelle:
24 fps = 24 fps
25 fps = 25 fps
30 fps = 30 fps
50 fps = 25 fps
60 fps = 30 fps
Ich denke ohne Anpassung am Code geht das nicht. Oder hat jemand von euch da noch eine gute Idee ?
PS: Ich weis dass ohne Transkodierung das alles ohne Probleme läuft. Wenn ich z.B. auf meinem Smartphone die Transkodierung abstelle oder wenn ich die Videos (im lokalen LAN) via KODI abspiele ist alles gut. Aber wenn ich nicht zuhause bin und die Bandbreite ohne Transkodierung nicht ausreicht wird es ruckelig. Oder wenn das Original in HEVC codiert ist und man will es im Browser abspielen ist die "Original" Qualität nicht verfügbar (so wie es bei H264 geht).