• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

For Loop

Steeve

Vereinsheimer
Barkeeper

Registriert
15 Juli 2013
Beiträge
41.121
Ich konvertiere gerade mit einem For Loop MKV in MP4 (wobei ich die Videospur kopiere und die Audiospur ändere) so:
[src=text]for file in *.mkv; do ffmpeg -i "$file" -c:v copy -c:a aac -b:a 128k "$file".mp4; done[/src]
Am Ende habe ich dann allerdings aus einer Video.mkv eine Video.mkv.mp4.
Geht das auch, dass ich am Ende namentlich eine Video.mp4 habe ohne das mkv?
 

theSplit

1998
Veteran Barkeeper

Registriert
3 Aug. 2014
Beiträge
28.561
Moin, auch wenn ich die Zeile(n) verstehe, kannst Bash Code auch mit [kw]src="bash"[/kw] formatieren lassen (anstatt nur Code) und das korrekt formatieren? ;)

Ansonsten gibt es auf Stackoverflow folgende Lösung:
https://stackoverflow.com/questions/2664740/extract-file-basename-without-path-and-extension-in-bash

Spontan hätte ich, "basename" genommen, aber die "angepinnte" Lösung, Zitat:
[src="bash"]$ s=/the/path/foo.txt
$ echo ${s##*/}
foo.txt
$ s=${s##*/}
$ echo ${s%.txt}
foo
$ echo ${s%.*}
foo[/src]

ist wohl beliebter oder einfacher.

Also in deinem Fall wohl die letzte (unbekannte Dateiendung) bzw. vorletzte Variante (wenn es immer ".mkv" ist) - was abgetrennt werden soll:
[src=bash]filename=${file%.mkv}[/src]

Und dann anstelle von [kw]$file[/kw] nur [kw]$filename[/kw] in der Schleife. Edit: (Siehe Metal_Warrior) - aber dann $filename nur für den Ausgabedateiname.
 
Zuletzt bearbeitet:

marv

NGBler

Registriert
14 Dez. 2016
Beiträge
81
Ort
Neu Phlan
Hi, nachträglich kannst Du mit einer Zeile auch alle Video.mkv.mp4 Dateien umbennen ;)

[src=bash]rename.ul '.mkv.mp4' '.mp4' *.mkv.mp4[/src]
 

Steeve

Vereinsheimer
Barkeeper

Registriert
15 Juli 2013
Beiträge
41.121
  • Thread Starter Thread Starter
  • #5
@Metal Warrrior: Danke funktioniert. Nur bei den zwei Anführungzeichen "*.mkv* streikt es
[src=text]*.mkv: No such file or directory[/src]
lässt man die weg, geht es,

Was allerdings auf einem anderem Blatt steht, dass ich hier bei anderen MKVs die subtitle nicht kopiert bekomme mit dem Zusatz [kw]c:s copy[/kw]
Es kommt eine Fehlermeldung:
[src=text][mp4 @ 0x55d208c59f20] Could not find tag for codec subrip in stream #2, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:1 --
[aac @ 0x55d208cc6300] Qavg: -nan
Conversion failed![/src]
Ausgangsdatei/en ist, MediaInfo:
[src=text]General
Complete name : Video.mkv
Format : Matroska
Format version : Version 4 / Version 2
File size : 1.48 GiB
Duration : 51 min 10 s
Overall bit rate : 4 128 kb/s
Encoded date : UTC 2014-12-14 00:38:39
Writing application : mkvmerge v7.4.0 ('Circles') 64bit built on Dec 12 2014 12:19:56
Writing library : libebml v1.3.0 + libmatroska v1.4.1

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, RefFrames : 10 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 51 min 10 s
Bit rate : 2 846 kb/s
Width : 1 280 pixels
Height : 640 pixels
Display aspect ratio : 2.000
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.145
Stream size : 1.02 GiB (69%)
Writing library : x264 core 142 r2479 dd79a61
Encoding settings : cabac=1 / ref=10 / deblock=1:-3:-3 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=48 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=6,6 / fast_pskip=0 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=7 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=250 / rc=crf / mbtree=1 / crf=15.5 / qcomp=0.70 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=38000 / vbv_bufsize=30000 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.10 / aq=1:0.70
Default : Yes
Forced : No

Audio #1
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Format settings, Endianness : Big
Codec ID : A_AC3
Duration : 51 min 10 s
Bit rate mode : Constant
Bit rate : 640 kb/s
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 234 MiB (15%)
Language : German
Service kind : Complete Main
Default : Yes
Forced : No

Audio #2
ID : 3
Format : AC-3
Format/Info : Audio Coding 3
Format settings, Endianness : Big
Codec ID : A_AC3
Duration : 51 min 10 s
Bit rate mode : Constant
Bit rate : 640 kb/s
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 234 MiB (15%)
Language : English
Service kind : Complete Main
Default : No
Forced : No

Text #1
ID : 4
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 48 min 9 s
Bit rate : 41 b/s
Count of elements : 458
Stream size : 14.6 KiB (0%)
Language : German
Default : Yes
Forced : No

Text #2
ID : 5
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 47 min 39 s
Bit rate : 47 b/s
Count of elements : 518
Stream size : 16.4 KiB (0%)
Language : English
Default : No
Forced : No
[/src]
Scheinbar kommt mp4 nicht mit diesem subtitle format klar oder ffmpeg
 

Metal_Warrior

Defender of Freedom
Teammitglied

Registriert
10 Aug. 2013
Beiträge
6.830
Ort
/dev/mapper/home
@Laui: Ah, kann sein, dass er bei Anführungszeichen die Wildcard nicht expanded, das hab ich nicht bedacht. Üblicherweise arbeite ich auch nicht mit Wildcards, ich mach das meist anders. Ist so ne persönliche Geschichte, kein best practice oder so.

Probier mal -map 0 als Option und lass den Rest der Codec-Optionen mal weg - das sollte dir alles packen. Wenn da immer noch Fehler rauskommen, versteht er was nicht. Ist aber jetzt geraten, ich konvertiere selbst nicht um.

Evtl. noch ne Hilfe: https://trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo
 

Meta

gesperrt

Registriert
11 Feb. 2017
Beiträge
1.379
Ort
Ostberlin
Code:
Format                                   : AC-3
Format/Info                              : Audio Coding 3

FFmpeg zählt die Tacks ab "0". MP4 unterstützt kein Dolby. Versuchs mit AAC.
 

Steeve

Vereinsheimer
Barkeeper

Registriert
15 Juli 2013
Beiträge
41.121
  • Thread Starter Thread Starter
  • #8
ja mp4 kommt nur mit mov_text zurecht. Ich habe jetzt folgendes probiert, den Befehl habe ich mir aus dem Netz zusammengestückelt, aber am Ende habe ich immer nur die Eine erste deutsche Untertitelspur
[src=bash]ffmpeg -i Video.mkv -c:v copy -c:a aac -b:a 128k -c:s mov_text -metadata:s:s:0 language=ger -metadata:s:s:1 language=eng output.mp4[/src]
Endergebnis ist dann:
[src=text]General
Complete name : output.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 1.07 GiB
Duration : 51 min 10 s
Overall bit rate mode : Variable
Overall bit rate : 2 981 kb/s
Writing application : Lavf57.71.100

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, RefFrames : 10 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 51 min 10 s
Bit rate : 2 846 kb/s
Width : 1 280 pixels
Height : 640 pixels
Display aspect ratio : 2.000
Frame rate mode : Variable
Frame rate : 23.976 (23976/1000) FPS
Minimum frame rate : 23.564 FPS
Maximum frame rate : 24.390 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.145
Stream size : 1.02 GiB (95%)
Writing library : x264 core 142 r2479 dd79a61
Encoding settings : cabac=1 / ref=10 / deblock=1:-3:-3 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=48 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=6,6 / fast_pskip=0 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=7 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=250 / rc=crf / mbtree=1 / crf=15.5 / qcomp=0.70 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=38000 / vbv_bufsize=30000 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.10 / aq=1:0.70

Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 51 min 10 s
Duration_LastFrame : -11 ms
Bit rate mode : Constant
Bit rate : 129 kb/s
Channel(s) : 2 channels
Channel(s)_Original : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 47.0 MiB (4%)
Language : German
Default : Yes
Alternate group : 1

Text
ID : 3
Format : Timed Text
Muxing mode : sbtl
Codec ID : tx3g
Duration : 48 min 21 s
Bit rate mode : Variable
Bit rate : 46 b/s
Stream size : 16.2 KiB (0%)
Language : German
Default : Yes
Forced : No
Alternate group : 3
[/src]
Nur eine Untertitelspur, irgendwas ist an meinem Befehl falsch, aber was?
 

Meta

gesperrt

Registriert
11 Feb. 2017
Beiträge
1.379
Ort
Ostberlin
@Laui: Vergiss mein Posting oben. Du hast ja schon in AAC codiert. MP4 unterstützt Untertitel im "mov"-Format.
 
Zuletzt bearbeitet:

Steeve

Vereinsheimer
Barkeeper

Registriert
15 Juli 2013
Beiträge
41.121
  • Thread Starter Thread Starter
  • #11
@Metal:
klappt so nicht
[src=text]ffmpeg -i Video.mkv -map 0 output.mp4[/src]
[src=text]Automatic encoder selection failed for output stream #0:3. Default encoder for format mp4 (codec none) is probably disabled. Please choose an encoder manually.
Error selecting an encoder for stream 0:3[/src]
Wie gesagt, habe herausgefunden, das mp4 nur mit mov_text kann.
@ Meta: Mein letzten Post gelesen?
 

Meta

gesperrt

Registriert
11 Feb. 2017
Beiträge
1.379
Ort
Ostberlin
Vielleicht hilft die explicite Zuordnung der Tracks.
Code:
ffmpeg -i Video.mkv -map 0:0 -map 0:1 -map 0:2 -map 0:3 -c:v copy -c:a aac -b:a 128k -c:s mov_text -metadata:s:s:0 language=ger -metadata:s:s:1 language=eng Video.mp4


Oder du versuchst mal den englischen UT zu isolieren:
Code:
ffmpeg -i Video.mkv -map 0:3 -c:s mov_text UT-2.ttx
 

Steeve

Vereinsheimer
Barkeeper

Registriert
15 Juli 2013
Beiträge
41.121
  • Thread Starter Thread Starter
  • #14
Vielleicht hilft die explicite Zuordnung der Tracks.
Code:
ffmpeg -i Video.mkv -map 0:0 -map 0:1 -map 0:2 -map 0:3 -c:v copy -c:a aac -b:a 128k -c:s mov_text -metadata:s:s:0 language=ger -metadata:s:s:1 language=eng Video.mp4
Damit habe ich jetzt 2 Audiospuren und nach wie vor nur die 1 Untertitelspur :D =
Code:
General
Complete name                            : Video.mp4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom (isom/iso2/avc1/mp41)
File size                                : 1.11 GiB
Duration                                 : 51 min 10 s
Overall bit rate mode                    : Variable
Overall bit rate                         : 3 113 kb/s
Writing application                      : Lavf57.71.100

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4.1
Format settings, CABAC                   : Yes
Format settings, RefFrames               : 10 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 51 min 10 s
Bit rate                                 : 2 846 kb/s
Width                                    : 1 280 pixels
Height                                   : 640 pixels
Display aspect ratio                     : 2.000
Frame rate mode                          : Variable
Frame rate                               : 23.976 (23976/1000) FPS
Minimum frame rate                       : 23.810 FPS
Maximum frame rate                       : 24.390 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.145
Stream size                              : 1.02 GiB (91%)
Writing library                          : x264 core 142 r2479 dd79a61
Encoding settings                        : cabac=1 / ref=10 / deblock=1:-3:-3 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=48 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=6,6 / fast_pskip=0 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=7 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=250 / rc=crf / mbtree=1 / crf=15.5 / qcomp=0.70 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=38000 / vbv_bufsize=30000 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.10 / aq=1:0.70

Audio #1
ID                                       : 2
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : LC
Codec ID                                 : 40
Duration                                 : 51 min 10 s
Duration_LastFrame                       : -11 ms
Bit rate mode                            : Constant
Bit rate                                 : 129 kb/s
Channel(s)                               : 2 channels
Channel(s)_Original                      : 6 channels
Channel positions                        : Front: L C R, Side: L R, LFE
Sampling rate                            : 48.0 kHz
Frame rate                               : 46.875 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 47.0 MiB (4%)
Language                                 : German
Default                                  : Yes
Alternate group                          : 1

Audio #2
ID                                       : 3
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : LC
Codec ID                                 : 40
Duration                                 : 51 min 10 s
Bit rate mode                            : Constant
Bit rate                                 : 129 kb/s
Channel(s)                               : 2 channels
Channel(s)_Original                      : 6 channels
Channel positions                        : Front: L C R, Side: L R, LFE
Sampling rate                            : 48.0 kHz
Frame rate                               : 46.875 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 47.1 MiB (4%)
Language                                 : English
Default                                  : No
Alternate group                          : 1

Text
ID                                       : 4
Format                                   : Timed Text
Muxing mode                              : sbtl
Codec ID                                 : tx3g
Duration                                 : 48 min 21 s
Bit rate mode                            : Variable
Bit rate                                 : 46 b/s
Stream size                              : 16.2 KiB (0%)
Language                                 : German
Default                                  : Yes
Forced                                   : No
Alternate group                          : 3
 

Steeve

Vereinsheimer
Barkeeper

Registriert
15 Juli 2013
Beiträge
41.121
  • Thread Starter Thread Starter
  • #16
ich kann auf die Englisch Spur verzichten und nutze daher jetzt nur ein [kw]-c:s mov_text[/kw], passt schon
 

Meta

gesperrt

Registriert
11 Feb. 2017
Beiträge
1.379
Ort
Ostberlin
Damit habe ich jetzt 2 Audiospuren und nach wie vor nur die 1 Untertitelspur :D =

Weil ich erst jetzt bemerkt habe, dass in der Quelldatei auch zwei Audio-Track drin sind, insgesamt also 5 Tracks :m

Also müßte es korrekt heißen:
Code:
ffmpeg -i Video.mkv -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 -c:v copy -c:a aac -b:a 128k -c:s mov_text -metadata:s:s:0 language=ger -metadata:s:s:1 language=eng Video.mp4
 

Steeve

Vereinsheimer
Barkeeper

Registriert
15 Juli 2013
Beiträge
41.121
  • Thread Starter Thread Starter
  • #18
Danke, jetzt hat er beide codiert
 

Meta

gesperrt

Registriert
11 Feb. 2017
Beiträge
1.379
Ort
Ostberlin
Die Expansion einer Dateinamens-Variablen sollte immer quotiert werden.

Was ist das für ein Ausdruck (funktioniert hier nicht):
Code:
"$f:r.mp4"
 
Oben