Ik weet dat flv en mp4 -bestanden bevatten aac audio, terwijl avi video meestal mp3 audiostreams bevat.

Welk commando (avconv, ffmpeg) zou de audio extraheren zonder deze te transcoderen?

Reacties

  • Misschien ben je geïnteresseerd in een PHP-script dat ik heb gemaakt, dat ik gebruik om automatisch de extensie van het uitgevoerde audiobestand te bepalen.

Antwoord

ffmpeg -i video.mp4 -vn -acodec copy audio.aac 

Hier is een korte uitleg over wat elke parameter doet:

  • -i optie specificeert het invoerbestand.
  • -vn optie wordt gebruikt om het videogedeelte over te slaan.
  • -acodec copy kopieert de audiostream met behoud van de originele codec.

Comme nts

  • terwijl de mp4-video aac-audio bevat, geen mp3, is dat het behouden van de audiostream zonder transcodering?
  • Heeft ' Ik zorg niet voor de extensie van het uitvoerbestand, mijn fout. Het antwoord bijgewerkt. Hoe dan ook, als je het volledige antwoord leest, zul je die -acodec-kopie vinden, dit voorkomt transcodering.
  • ik raad m4a (container voor aac) aan in plaats van aac, omdat het lijkt alsof het niet gemakkelijk is om te spelen
  • is het mogelijk om tijdens het gebruik van ffmpeg of avconv een commando te hebben zonder de echte namen van invoer- / uitvoerbestanden te noemen, zodat het commando als zodanig wordt gebruikt? (ik zou dat graag willen gebruiken in een contextmenu-actie in nemo file manager)
  • Misschien wil je een variabele of iets dergelijks gebruiken, maar het is beter dat je een vraag stelt met alle specifieke details.

Antwoord

Als aanvullend antwoord, met een commando dat de specifieke naam van het bestand niet nodig heeft.

Voor een video met aac-audio:

ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a 

Om in een contextmenuopdracht te gebruiken, werkt een formulier als dit:

bash -c "ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a" %f 

Vervangen door corresponderende audioformaatuitvoer voor andere videoformaatinvoer.


Oorspronkelijke bron hier .

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *