Audio sáv kiszedése MP4-ből újraencodolás nélkül

Fórumok

Hogyan lehet érintetlenül kiszedni az audiosávot egy MP4 videóból úgy, hogy ne legyen újra encodolva, maradjon az eredeti AAC? A kimeneti kapszula-audiofájl pedig lehetőleg ne WAV legyen hanem maradjon MP4, esetleg lehet még OGG vagy MKA.

Hozzászólások

ffmpeg -i forras.mp4 -acodec copy -vn -f mp4 kesz.mp4

mp4box kell neked.

mp4box -single 1 input.mp4
mp4box -single 2 input.mp4

erre elkeszül két file:
input_track1.mp4 és input_track2.mp4

az egyik az audio sáv, a másik a video sáv lesz

--- sorx

Én ezzel lopom ki a hangot:
"mplayer -ao pcm xy.mp4"
Ehhez még annyit, hogy amit az mplayer lejátszik azt én átnevezem "1.mp4"-re oszt ahogy illik kirántja a hangot!
Én forgatom az mplayert és a /usr/lib/win32 tele van pakolva.

MP3-ba pedig:
"lame -b -320 xy.wav" , aki PC-n hallgatja vissza (jó minőségű hangkártya + hangkeltő) az nem szokott panaszkodni a minőségre.

Reenkódolsz. :) Szép magyar szaó!
A PCM=kitömörített MP3. (AAC, akármi)
A hangkártyád is PCM-et kap. (Az enyém meg float 32-t bebe. :))
Vagyis ugyanazt a konverziót végzi, amit a lejátszáskor, tehát nem lesz rosszabb.

Egyes esetekben, ha nem jó lejátszót használsz akkor mégis lehet igazad:
- a film samplerate 48KHz és ez ész nélkül 44,1KHz-re konvertálódik (Windows XP lásd.: kmixer - nem linuxos), vagy
- az eredeti samplerate eltér mindkettőtől, esetleg
- kíváló SoundBlaster, amely oda-vissza konvertálja (én ovastam róla)

A PCM az eredeti legjobb hangformátum, hiszen pont annyi, amennyit az AD átalakító mért...
...mondják, akik nem DSD formátumban hallgatják a zenét.

MP4Box -info filename.mp4
- kinézed a TrackID-t a kimenetből
utána:
MP4Box -raw TrackID filename.mp4

Az eredmény filename.aac lesz.

Utána már azzal úgy bűvészkedsz, ahogy akarsz.

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

Én ezzel szoktam a HQ youtube videókból kinyerni a hangsávot.


#!/bin/bash

mkdir -p ./mp3/hq
mkdir -p ./mp4

for i in *.mp4; do
export file=`basename $i .mp4`

nice mplayer -vc dummy -vo null -ao pcm "$file.mp4" -ao pcm:file="$file.wav"
lame -h -b 128 "$file.wav" "$file.mp3";
rm $file.wav;

sleep 1
mv $file.mp3 ./mp3/hq/$file.mp3
mv $file.mp4 ./mp4/$file.mp4
done