bruor 43 Posted December 31, 2023 Posted December 31, 2023 (edited) I'm attempting to figure out how I can reproduce a transcode from an interactive session as the emby user on my linux server. For instance, playing a video shows the following command being issued inside of a remux log /opt/emby-server/bin/ffmpeg -loglevel +timing -y -print_graphs_file "/mnt/wflx2/emby/logs/ffmpeg-remux-635e50a2-802e-43cc-be58-eeef5828cfa8_1graph.txt" -copyts -start_at_zero -f matroska,webm -noaccurate_seek -c:v:0 h264 -i "https://tvnow.best/api/stream/username/password/movie/tt22890246" -map 0:0 -map 0:1 -sn -c:v:0 copy -bsf:v:0 h264_mp4toannexb -c:a:0 libmp3lame -ab:a:0 192000 -ac:a:0 2 -metadata:s:a:0 language=eng -filter:a:0 "volume=2" -disposition:a:0 default -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -map_chapters -1 -segment_format mpegts -segment_list "/mnt/wflx2/emby/transcoding-temp/CF9CCC/CF9CCC.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 0 -break_non_keyframes 1 -individual_header_trailer 0 -write_header_trailer 0 -segment_write_temp 1 "/mnt/wflx2/emby/transcoding-temp/CF9CCC/CF9CCC_%d.ts" -map 0:2 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/mnt/wflx2/emby/transcoding-temp/CF9CCC/CF9CCC_s2.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 0 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:00:00.000 "/mnt/wflx2/emby/transcoding-temp/CF9CCC/CF9CCC_s2_%d.vtt" -map 0:3 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/mnt/wflx2/emby/transcoding-temp/CF9CCC/CF9CCC_s3.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 0 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:00:00.000 "/mnt/wflx2/emby/transcoding-temp/CF9CCC/CF9CCC_s3_%d.vtt" -map 0:4 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/mnt/wflx2/emby/transcoding-temp/CF9CCC/CF9CCC_s4.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 0 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:00:00.000 "/mnt/wflx2/emby/transcoding-temp/CF9CCC/CF9CCC_s4_%d.vtt" -map 0:5 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/mnt/wflx2/emby/transcoding-temp/CF9CCC/CF9CCC_s5.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 0 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:00:00.000 "/mnt/wflx2/emby/transcoding-temp/CF9CCC/CF9CCC_s5_%d.vtt" -map 0:6 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/mnt/wflx2/emby/transcoding-temp/CF9CCC/CF9CCC_s6.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 0 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:00:00.000 "/mnt/wflx2/emby/transcoding-temp/CF9CCC/CF9CCC_s6_%d.vtt" -map 0:7 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/mnt/wflx2/emby/transcoding-temp/CF9CCC/CF9CCC_s7.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 0 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:00:00.000 "/mnt/wflx2/emby/transcoding-temp/CF9CCC/CF9CCC_s7_%d.vtt" However, if I su into the emby account and try to run that command it fails because of missing libraries. I figured out that I can get further if I call /opt/emby-server/bin/emby-ffmpeg, but modifying the command above to use the wrapper script causes the following error .... 15:24:31.957 NUMBER_OF_BYTES : 26539 15:24:31.957 DURATION : 01:25:24.565000000 15:24:31.957 Stream #0:8(tur): Subtitle: subrip 15:24:31.957 Metadata: 15:24:31.957 BPS : 41 15:24:31.957 NUMBER_OF_FRAMES: 983 15:24:31.957 NUMBER_OF_BYTES : 26303 15:24:31.957 DURATION : 01:25:23.712000000 15:24:31.958 Could not write header for output file #1 (incorrect codec parameters ?): No such file or directory 15:24:31.958 Error initializing output stream 1:0 -- 15:24:31.958 Stream mapping: 15:24:31.958 Stream #0:0 -> #0:0 (copy) 15:24:31.958 Stream #0:1 -> #0:1 (ac3 (native) -> mp3 (libmp3lame)) 15:24:31.958 Stream #0:2 -> #1:0 (subrip (srt) -> webvtt (native)) 15:24:31.958 Stream #0:3 -> #2:0 (subrip (srt) -> webvtt (native)) 15:24:31.958 Stream #0:4 -> #3:0 (subrip (srt) -> webvtt (native)) 15:24:31.958 Stream #0:5 -> #4:0 (subrip (srt) -> webvtt (native)) 15:24:31.958 Stream #0:6 -> #5:0 (subrip (srt) -> webvtt (native)) 15:24:31.958 Stream #0:7 -> #6:0 (subrip (srt) -> webvtt (native)) Last message repeated 1 times For a transcode the error is slightly different .... 14:13:31.783 NUMBER_OF_BYTES : 26539 14:13:31.783 DURATION : 01:25:24.565000000 14:13:31.783 Stream #0:8(tur): Subtitle: subrip 14:13:31.783 Metadata: 14:13:31.783 BPS : 41 14:13:31.783 NUMBER_OF_FRAMES: 983 14:13:31.783 NUMBER_OF_BYTES : 26303 14:13:31.783 DURATION : 01:25:23.712000000 14:13:31.783 Output #0, segment, to '/mnt/wflx2/emby/transcoding-temp/7095DD/7095DD_%d.ts': 14:13:31.783 Output file #0 does not contain any stream I thought the arguments might not be passed through the wrapper script properly but I've tested setting the environment variables manually in the shell session but the same errors are encountered. The only thing I can figure now is that bash isn't liking the way I'm trying to invoke the command, or maybe there is more to the environment that needs to be tweaked. Edited December 31, 2023 by bruor
Luke 42080 Posted January 1, 2024 Posted January 1, 2024 Quote The only thing I can figure now is that bash isn't liking the way I'm trying to invoke the command Hi, maybe this is it?
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now