Am Mi., 18. Sept. 2019 um 14:08 Uhr schrieb Kieran O'Leary <[email protected]>: > > I am very sorry - Outlook Web App sent the email when I tried to copy paste > the command - also it won't let me bottom post! i promise that future emails > will be in the correct format. > > This is the command I used to do a one second test where the intention is to > merge two mono audio tracks into one stereo track - i was hoping that there > was a way to do this without a filter but i guess not?: > ffmpeg -i "input.mov" -filter_complex " > [0:2][0:3]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a pcm_s24le > -c: > v copy -t 1 output.mov > ffmpeg version N-92623-g2c64a6bcd2 Copyright (c) 2000-2018 the FFmpeg > developers > > built with gcc 8.2.1 (Rev1, Built by MSYS2 project) 20181130 > configuration: --disable-autodetect --enable-amf --enable-bzlib > --enable-cuda > --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-iconv --enable-lzma > --e > nable-nvenc --enable-zlib --enable-sdl2 --disable-debug --enable-ffnvcodec > --ena > ble-nvdec --enable-libmp3lame --enable-libopus --enable-libvorbis > --enable-libvp > x --enable-libx264 --enable-libx265 --enable-libdav1d --enable-fontconfig > --enab > le-libass --enable-libbluray --enable-libfreetype --enable-libmfx > --enable-libmy > sofa --enable-libopencore-amrnb --enable-libopencore-amrwb > --enable-libopenjpeg > --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora > --enabl > e-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libwavpack > --e > nable-libwebp --enable-libxml2 --enable-libzimg --enable-libshine > --enable-gpl - > -enable-avisynth --enable-libxvid --enable-libaom --enable-version3 > --enable-chr > omaprint --enable-decklink --enable-frei0r --enable-libbs2b --enable-libcaca > --e > nable-libcdio --enable-libfdk-aac --enable-libflite --enable-libfribidi > --enable > -libgme --enable-libgsm --enable-libilbc --enable-libkvazaar > --enable-libmodplug > --enable-libopenh264 --enable-libopenmpt --enable-librtmp > --enable-librubberban > d --enable-libssh --enable-libtesseract --enable-libxavs --enable-libzmq > --enabl > e-libzvbi --enable-opencl --enable-opengl --enable-libvmaf --enable-libcodec2 > -- > enable-libsrt --enable-ladspa --enable-openssl --extra-cflags=-fopenmp > --extra-l > ibs=-lgomp --extra-cflags=-DLIBTWOLAME_STATIC --extra-libs=-lstdc++ > --extra-cfla > gs=-DLIBSSH_STATIC --extra-ldflags='-Wl,--allow-multiple-definition' > --extra-cfl > ags=-DCACA_STATIC --extra-cflags=-DMODPLUG_STATIC > --extra-cflags=-DCHROMAPRINT_N > ODLL --extra-libs=-lstdc++ --extra-cflags=-DZMQ_STATIC --extra-libs=-lpsapi > --ex > tra-cflags=-DLIBXML_STATIC --extra-libs=-liconv --disable-w32threads > --extra-cfl > ags=-DKVZ_STATIC_LIB --enable-nonfree > libavutil 56. 24.101 / 56. 24.101 > libavcodec 58. 41.101 / 58. 41.101 > libavformat 58. 23.102 / 58. 23.102 > libavdevice 58. 6.101 / 58. 6.101 > libavfilter 7. 46.101 / 7. 46.101 > libswscale 5. 4.100 / 5. 4.100 > libswresample 3. 4.100 / 3. 4.100 > libpostproc 55. 4.100 / 55. 4.100 > Guessed Channel Layout for Input Stream #0.2 : mono > Guessed Channel Layout for Input Stream #0.3 : mono > Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mov': > Metadata: > creation_time : 2019-09-18T09:27:36.000000Z > Duration: 01:37:57.56, start: 0.000000, bitrate: 223490 kb/s > Stream #0:0(eng): Video: v210 (v210 / 0x30313276), > yuv422p10le(smpte170m/bt4 > 70bg/bt709, top coded first (swapped)), 720x576, 221184 kb/s, SAR 16:15 DAR > 4:3, > 25 fps, 25 tbr, 25k tbn, 25k tbc (default) > Metadata: > creation_time : 2019-09-18T09:27:36.000000Z > handler_name : Apple Video Media Handler > encoder : 10 bit YCbCr > timecode : 00:58:04:15 > Stream #0:1(eng): Data: none (tmcd / 0x64636D74) (default) > Metadata: > creation_time : 2019-09-18T09:27:36.000000Z > handler_name : Time Code Media Handler > reel_name : Untitled > timecode : 00:58:04:15 > Stream #0:2(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, > s32 > (24 bit), 1152 kb/s (default) > Metadata: > creation_time : 2019-09-18T09:27:36.000000Z > handler_name : Apple Sound Media Handler > Stream #0:3(eng): Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, mono, > s32 > (24 bit), 1152 kb/s (default) > Metadata: > creation_time : 2019-09-18T09:27:36.000000Z > handler_name : Apple Sound Media Handler > File 'output.mov' already exists. Overwrite ? [y/N] y > Stream mapping: > Stream #0:2 (pcm_s24le) -> join:input0 > Stream #0:3 (pcm_s24le) -> join:input1 > join -> Stream #0:0 (pcm_s24le) > Press [q] to stop, [?] for help > Output #0, mov, to 'output.mov': > Metadata: > encoder : Lavf58.23.102 > Stream #0:0: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32, > 23 > 04 kb/s (default) > Metadata: > encoder : Lavc58.41.101 pcm_s24le > size= 282kB time=00:00:01.00 bitrate=2309.9kbits/s speed=41.1x > video:0kB audio:281kB subtitle:0kB other streams:0kB global headers:0kB > muxing o > verhead: 0.256944% > > What is the best way to verify that the process was lossless? > > I tried the following which seems very clumsy: > 1. Export the two original audio tracks as seperate wav files with (i know i > could have done it in one command but I just knocked this together) > ffmpeg -i input.mov -c:a copy -t 1 -map 0:2 left.wav > ffmpeg -i input.mov -c:a copy -t 1 -map 0:3 right.wav > > 2. Export the new output.mov with the single stereo track as a WAV, then used > the following to make seperate tracks out of the channels: with ffmpeg -i > output.mov -c:a pcm_s24le -map_channel 0.0.0 left_merge.wav -c:a pcm_s24le > -map_channel 0.0.1 right_merge.wav > > 3. Use framemd5s to compare the various wavs to make sure that the same > samples are produced in the source and output. > > The framemd5s were indeed identical aside from the last sample, which may > have had something to do with trimming at 1 second. > > is there an easier way to verify that the same audio is produced in the > source audio files as with the merged stereo track?
Once again you are trying to use FFmpeg to check FFmpeg, this may work in special cases, it cannot work in the general case. From a quick look, the most likely part of FFmpeg to fail above is the mov demuxer: Iiuc, you are using it both to create the samples and to check their correctness - this is simply wrong. (An example where it may work is when you can create a file that is bit-identical with the original input file. But we have also discussed in the past that this is unlikely due to the fact that FFmpeg - even with lossless encoding - is not a tool for file archiving.) I believe you can check your workflow with mplayer -demuxer mov -dumpaudio -aid, most likely also with vlc and GStreamer, maybe even with afconvert Carl Eugen _______________________________________________ ffmpeg-user mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
