Jump to content

Transkodiertes Video hat nur eine (falsche) Audiospur


SchauAN

Recommended Posts

Hallo,

 

Aufnahmen mit mehreren Audiospuren werden bei Transkodierung auf die erste Audiospur reduziert. Die erste Audiospur ist aber nicht immer die Richtige. Besser wäre eine PID-gefilterte Audioauswahl oder alle Spuren zur Auswahl am Gerät. Die Reihenfolge der Audiospuren ist zufällig und einfach die erste kann schon mal falsch sein. Ich habe hier arte-Aufnahmen, die transkodiert französich sprechen, als Direktstream aber deutsch.

 

Getestet mit RSC 1.301.0 (beta), Android-App DVBViewer Controller 1.1.3, MX-Player 1.7.35 (ARMv7 Neon) und der WP-App RSC V1.0.9.4. Der WP-Client nutzt immer die Transkodierung.

 

Wie kann ich das ändern? Muss ffmpeg angepasst werden?

 

Danke

 

Karl

 

 

Link to comment

In der senderliste werden alle audiospuren als getrennte sender abgelegt. Du muss nur die gewünschte spur im editor auf die 1. stelle ziehen.

 

sorry, hatte nicht gesehen, dass es um aufnahmen geht. Umwege würden mir schon einfallen (z.b. mit TSPlayer nur mit einer audiospur neu aufnehmen), aber elegant ist das nicht.

Link to comment

Also ich habe mal in der ffmegprefs.ini rumgespielt.

 

Da wird bei den verschiedenen Profilen mit -map 0:0 und -map 0:1 immer die erste Video-Spur und die erste Audio-Spur gewählt.

Ich hab das mal mit -map 0:v und -map 0:a so abgeändert, dass alle Video-Spuren und alle Audio-Spuren transcodiert werden.

Allerdings wird trotzdem nur eine Video-Spur und eine Audio-Spur transcodiert.

 

Ich vermute mal, dass ffmpeg als Quelle nur eine Audiospur geliefert bekommt. Vielleicht könnte Christian oder Griga da mal nachschauen wie das abläuft.

Link to comment

Hab ich auch schon versucht, aber es hilft nichts, wenn der Player im WP-Client keine Auswahl bietet.

Mit -map 0:2 sollte auch eine zweite Spur kommen, aber es hat bei mir unter Android nicht geklappt. Android weil ich im MX-Player die Audiospur auswählen kann. Als Test habe ich eine arte-Aufnahme genommen, bei der es eine deutsche und eine französische Audiospur gibt. Transkodiert wird einfach die erste Spur genommen, die in diesem Fall französisch ist.

Bei Aufnahmen mit dem DVBViewer ist die Reihenfolge der Audiostreams zufällig. Dennoch spielen alle mir bekannten Videoplayer die korrekte Audiospur ab. Dazu muss immer der Stream-Identifier ausgewertet werden. Als Direktstream unter Android mit MX-Player wird die deutsche Spur ab, transkodiert ist es französisch

ffmpeg -i test.mpg sagt dies:

Input #0, mpeg, from 'test.mpg':
Duration: 00:01:53.66, start: 1.822211, bitrate: 2699 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 704x576 [sAR 16:11 DAR 16:9], max. 7000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x1c1]: Audio: mp2, 48000 Hz, stereo, s16p, 128 kb/s
Stream #0:2[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 192 kb/s

Also wie erwartet, der erste Audio-Stream ist nicht der Hauptstream. Der hat immer eine 0 am Ende. Den per Script auswählen und die anderen einfach durchnummeriert hinterher. Bei DVB-S können es schon mal mehr sein.

Eine DVB-S Aufnahme vom ZDF ergibt:
Input #0, mpeg, from 'test-ZDF.mpg':
Duration: 00:01:12.05, start: 1.626367, bitrate: 5010 kb/s
Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x576 [sAR 64:45 DAR 16:9], max. 15000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1[0x1c1]: Audio: mp2, 48000 Hz, stereo, s16p, 192 kb/s
Stream #0:2[0x1c2]: Audio: mp2, 48000 Hz, stereo, s16p, 192 kb/s
Stream #0:3[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 448 kb/s
Stream #0:4[0x1c0]: Audio: mp2, 48000 Hz, stereo, s16p, 256 kb/s

Hier wäre den Hauptaudiostream der vierte mit 256 kb/s.

Die mp2-Streams haben also immer 0x1c plus lfd. Nummer und 0 kennzeichnet den Hauptstream. Aber wie danach filtern? Finden konnte ich nur Beispiele, in denen Stream-Id nach Reihenfolge gefiltert wird, nicht aber nach StreamInhalt.
stream_index Stream_type program_id wären die Stichworte.
-map input_file_id.input_stream_id[:sync_file_id.sync_stream_id]

Vielleicht hilft das hier weiter:
http://howto-pages.org/ffmpeg/#map
http://dvd.sourceforge.net/dvdinfo/mpeghdrs.html
https://trac.ffmpeg.org/wiki/How%20to%20use%20-map%20option
https://trac.ffmpeg.org/ticket/995
http://manpages.ubuntu.com/manpages/precise/man1/ffmpeg.1.html
https://bitbucket.org/xnejp03/serviio/issue/235/support-audio-track-selection-for
https://forums.creativecow.net/thread/291/1203

Link to comment

Du könntest es über upnp probieren. Allerdings weiss ich dann nicht, wie man da transcoding hinkriegt. Da müsste wohl noch ein zusätzlicher server installiert werden (bubble z.b.). Jedenfall lässt sich beim upnp-client alles auswählen (auch untertitel). Gilt aber leider wohl nur für den vlc-player, denn meine anderen clients mit anderen playern beherrschen das leider nicht. Ich hab mal eine kurze testaufnahme von Euro News gemacht und mit dem smartphone abgespielt ;)

 

Screenshot_2015-04-03-11-10-29.pngScreenshot_2015-04-03-11-10-48.png

Link to comment
×
×
  • Create New...