FFMPEG gibt eine Videodatei ohne Audio aus

312
Poni

Ich versuche, ein Video mit FFMPEG (Befehlszeile) zu schneiden / zu schneiden / zu teilen.

Es funktioniert für das Video, aber nicht für das Audio.

Was ich damit meine: Die resultierende Videodatei ('the-video-file-1.mpg') gibt das Video wieder, aber es ist kein Ton wie in der Originaldatei.

Es ist, als ob FFMPEG den AC3-Codec nicht lesen oder schreiben kann (ich gehe davon aus, dass er die Konsolenausgabe betrachtet).

Irgendeine Idee, wie man das lösen kann?

me@my-box:~/backup$ ffmpeg -i the-video-file.mpg -vcodec copy -acodec copy -ss 00:00:00 -t 00:41:54 the-video-file-1.mpg ffmpeg version 3.3.3-2~ubuntu16.04.1~ppa1 Copyright (c) 2000-2017 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609 configuration: --prefix=/usr --extra-version='2~ubuntu16.04.1~ppa1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared libavutil 55. 58.100 / 55. 58.100 libavcodec 57. 89.100 / 57. 89.100 libavformat 57. 71.100 / 57. 71.100 libavdevice 57. 6.100 / 57. 6.100 libavfilter 6. 82.100 / 6. 82.100 libavresample 3. 5. 0 / 3. 5. 0 libswscale 4. 6.100 / 4. 6.100 libswresample 2. 7.100 / 2. 7.100 libpostproc 54. 5.100 / 54. 5.100 Input #0, mpeg, from 'the-video-file.mpg': Duration: 01:07:07.12, start: 0.230389, bitrate: 4728 kb/s Stream #0:0[0x1bf]: Data: dvd_nav_packet Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv, bt470bg, top first), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s [mpeg @ 0x55968b869880] VBV buffer size not set, using default size of 130KB If you want the mpeg file to be compliant to some specification Like DVD, VCD or others, make sure you set the correct buffer size [mpeg @ 0x55968b869880] ac3 in MPEG-1 system streams is not widely supported, consider using the vob or the dvd muxer to force a MPEG-2 program stream. Output #0, mpeg, to 'the-video-file-1.mpg': Metadata: encoder : Lavf57.71.100 Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, bt470bg, top first), 720x576 [SAR 16:15 DAR 4:3], q=2-31, 25 fps, 25 tbr, 90k tbn, 25 tbc Stream #0:1: Audio: ac3, 48000 Hz, stereo, fltp, 256 kb/s Stream mapping: Stream #0:1 -> #0:0 (copy) Stream #0:2 -> #0:1 (copy) Press [q] to stop, [?] for help frame= 1640 fps=0.0 q=-1.0 size= 45284kB time=00:01:06.61 bitrate=5568.5kbits/frame= 2976 fps=2975 q=-1.0 size= 78484kB time=00:02:00.36 bitrate=5341.5kbitsframe= 4013 fps=2671 q=-1.0 size= 101906kB frame=62267 fps=1259 q=-1.0 Lsize= 1472858kB time=00:41:53.98 bitrate=4799.4kbits/s speed=50.8x trate=5038.6kbits/s speed= 111x  video:1388209kB audio:77847kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.463944% 
0

1 Antwort auf die Frage

1
Gyan

Die Eingabedatei ist ein MPEG-2-Programm-Stream, wird aber .mpgauch für den MPEG-1-Programm-Stream verwendet. Daher legt ffmpeg standardmäßig die Erstellung fest.

Benutzen

ffmpeg -i the-video-file.mpg -c copy -ss 00:00:00 -t 00:41:54 -f vob the-video-file-1.mpg 
Warum sollte "Vob" funktionieren? Ich würde vermuten, dass 'Kopieren' funktionieren würde, da es auf der Originaldatei funktioniert. Trotzdem danke! :) Poni vor 5 Jahren 0