/ / VideoView neprehrá správne zvuk vo videu - android, audio, video, ffmpeg, videoview

Program VideoView nehraje správne Audio in Video - Android, audio, video, ffmpeg, videoview

Mám *.mp4 súbor, ktorý trvá 2 minúty. Teraz má audio stopu začínajúcu od 30 seconds upto 1.10 min, Zvyšok predtým 30s a potom 1.10min je prázdne.

Teraz je problém, keď sa to snažím hrať videoview alebo mediaplayer potom prehrá zvuk hneď od začiatku videa skôr od jeho skutočnej pozície. Skúšal som to na viacerých telefónoch s rovnakým výsledkom.

Keď prehrávam rovnaké video v MXPlayer alebo v Windows(VLC); hrá správne.

Aké je riešenie tohto problému?

editovať

Použil som -itsoffset velenie. \ t Ffmpeg video.

ffmpeg -y -i a.mp4 -itsoffset 00:00:30 sng.m4a -map 0:0 -map 1:0 -c:v copy -preset ultrafast out.mp4

Vopred ďakujem.

odpovede:

0 pre odpoveď č. 1

Ok nakoniec som vyriešil problém pridaním len 1 možnosť -async

ffmpeg -y -i a.mp4 -itsoffset 00:00:30 sng.m4a -map 0:0 -map 1:0 -c:v copy -preset ultrafast -async 1 out.mp4

V predvolenom nastavení sú časové / zvukové známky videa / videa natiahnuté tak, aby sa navzájom zhodovali; čo bol môj problém audio počnúc intímnym aj po dávaní itsoffset.

Ako je to Ffmpeg Doc použitím async 1 opravuje iba počiatočnú časovú značku zvuku. Viem, že táto možnosť je zastaraná; ale akokoľvek to vyriešilo môj prípad.


0 pre odpoveď č. 2

Musí to byť jednoduchší spôsob, ale nasledujúce práce sú pre mňa v poriadku:

ffmpeg -y -i a.mp4 -itsoffset 00:00:30 sng.m4a -f lavfi -i "aevalsrc=0" -filter_complex "[1:a][2:a]amix=inputs=2:duration=first:dropout_transition=0, apad[out]" -map 0:v -map "[out]" -c:v copy -preset ultrafast -shortest out.mp4

Robí to takto:

  • Vytvorte tichý zvuk
  • Zmiešajte ho s posunutým zvukom až do konca vášho súboru m4a
  • Pad s tichom neurčito
  • Namapujte toto a vstupné video
  • Vyberte najkratšiu dobu trvania (trvanie videa je nekonečné, pretože filter pad)

Pokúsiť sa ;)

edit: Jay riešenie, pomocou "-async 1", je oveľa jednoduchšie, skontrolujte to!